UML類別圖: 傳遞參數和Dependency - 自學程式誌
文章推薦指數: 80 %
『Class Student uses class Course』則是圖一英文的描述式,而它的動詞關鍵字 ... 換句話說,我們可以由類別圖關係線(dependency, aggregation, composition.
Qt
安裝與設置
入門篇
Qt與GoogleMap
API說明
Chrome
基本操作
隱私權
當機
軟體密技
VirtualBox
去廣告
Excel2013
雜談
胖子工程師辛酸史
台灣故事
快樂方法
科技新知
Searchformisempty!
WHAT'SNEW?
Loading...
較新的文章
較舊的文章
首頁
UML類別圖:傳遞參數和Dependency
CarolCheng
清晨7:05
軟體架構,
C++,
UML
Dependency
圖一.類別圖:Dependency關係
如上圖所示,當類別Student相依另一個類別Course,並且在成員函數將類別Course被用來傳遞參數或區域變數時,這兩者關係稱為『Dependency(相依性)』。
『Class Student usesclass Course』則是圖一英文的描述式,而它的動詞關鍵字就是『Uses(使用)』。
在程式開發者眼中,它經常被稱作『Coupling(耦合)』。
換句話說,我們可以由類別圖關係線(dependency,aggregation,composition...)知道模組間的耦合度,當類別的關係線越多,它的耦合度就越高。
在UML,傳遞參數主要有以下三種:
in:輸入參數的內容不能被修改
唯讀
StarUML不顯示在圖上
inout :輸入參數的內容可以被修改
此參數被你當輸入和輸出
建議使用Pass byreference,不會呼叫CopyConstructor
out:與inout大略相同,此參數只當作輸出
以下將圖一的類別圖轉換C++的程式碼,並且增加成員函數Enrolled區分實作唯讀的方法。
圖二.Dependency範例。
左邊:類別圖右邊:原始碼
如下圖所示,在C++實作UML的IN主要有兩種方式:『PassbyValue』和『PassbyConstReference』。
然而,PassbyValue主要的缺點是『當類別過於龐大,花太多時間複製物件的內容到新物件』,甚至影響程式的性能。
另一方面,若在PassbyReference加入修飾字const,不但編譯器會出現警告訊息當他人修改參數內容,而且防止不預期的結果,尤其當程式者未在自己的類別實作CopyConstructor。
圖三.成員函數Enrolled和isEnrolled的比較表
Reference:
UnderstandingthisUMLdiagram?,cplusplus.com
http://www.cplusplus.com/forum/general/62927/
in,out,inout,returnparameterdirectioninUML, stackoverflow
http://goo.gl/uZvgsl
ApplyingUMLandPatterns:UMLClassDiagrams, CraigLarman
http://goo.gl/6TYb2q
facebook
twitter
google+
fbshare
CarolCheng
0
comments:
張貼留言
Follow:
PopularPosts
VirtualBox教學:重設硬碟(.vdi)大小(下)
之前在重設硬碟(.vdi)大小(上)教你如何利用cmd修改硬碟vdi大小,然而虛擬電腦的作業系統仍然無法使用多出來空間,因此為了使虛擬電腦能完整使用系統槽的硬碟空間(本範例40GB),你需要在VirtualBox磁碟分割的開機光碟(ISO檔)後,啟動後即可對虛擬電腦的硬碟進行...
VirtualBox教學:重設硬碟(.vdi)大小(上)
之前講述如何新增WindowsWindows7(上)(下),然而若一開始給系統糟大小不夠,就可能使你的虛擬電腦變慢,因此我們就需要將虛擬電腦的硬碟變大.如圖一所示,我的虛擬電腦硬碟大小只有25GB,然而若將虛擬電腦的windows7進行更新,硬碟空間就有點不夠,因...
胖子工程師辛酸史:如何應對無聊人士
有一天,專案經理走到胖子與工程師B中間後,他一開口就抱怨說:『工程師B,你介面上某一個字打錯,知道嗎?還有我不是將待修正的bugs已經寫到GoogleDrive,你們修改的時間也太慢了吧!』工程師B聽到後,微微點頭說:『知道了,我立即修正!』聽到這些話的胖子不禁回想起某一次...
[Windows764-bit]安裝Qt5.4MinGW
2014年12月Qt正式發佈5.4版,這次不但增加支援WinRT和Windows手機,而且新增相對應的模組。
這次也將軟體分成以下四個版本:社區版(Community)用於PC端,嵌入式和手機應用程式開發獨立移動版(IndieMobile)...
Chrome當機(4):重設使用者設定檔
若你之前三篇都無法解決Chrome當機的問題,你可以試試重設使用者設定檔.如果你習慣使用Chrome登入瀏覽器,以便於在任何電腦都能使用自己客製化的Chrome,然而若你的使用者設定檔有任何毀損的話,Chrome將出現錯誤訊息「真糟糕!GoogleChrome當掉了﹗」...
LikeusonFacebook
Labels
人文素養
下載影片
心態調整
手機定位
去廣告
好用軟體
快樂的方法
拒絕Chrome更新
物件導向
科技新知
紀錄片感想
胖子工程師辛酸史
時間管理
第三方函式庫管理
軟體架構
軟體教學
部落格技巧
惡意軟件
無痕模式
發人深省
感謝
溝通的技巧
資料結構與演算法
電子紋身
電腦截圖
輕重緩急
模組化手機
擋youtube廣告
獨木不成林
螢幕錄影
優酷下載
壓抑的台灣
職場厚黑學
職場應對
blogger教學
Boost
C++
Chrome
ChromeJavascript
Chrome功能
Chrome的隱私權
Chrome書籤
Chrome耗電
Chrome帳號管理
Chrome當機
Chrome綁架
Chrome擴充功能
Excel教學
Excel圖表
Git
Google服務
kmplayer去廣告
NeckTattoo
QCheckBox
QComboBox
QJson
QSqlTableModel
Qt
Qt安裝
Qt設置
Qt與GoogleMap
Qt觀念澄清
QTableView
QtBasic
QtClass
singlylinkedlist
Skype去廣告
SQLITE
TED
UML
UML軟體
VirtualBox教學
VS方案管理
網誌存檔
►
2018
(1)
►
四月
(1)
►
2016
(1)
►
七月
(1)
▼
2015
(14)
►
十二月
(2)
►
七月
(1)
►
五月
(3)
►
四月
(3)
▼
二月
(5)
[免費截圖]PicPick加入浮水印
UML類別圖:傳遞參數和Dependency
UML類別圖:Aggregationvs.Composition
[Windows764-bit]安裝Qt5.4MinGW
UML類別圖:基本概念篇
►
2014
(42)
►
十月
(3)
►
八月
(5)
►
六月
(1)
►
五月
(3)
►
四月
(3)
►
三月
(7)
►
二月
(8)
►
一月
(12)
►
2013
(57)
►
十二月
(19)
►
十一月
(23)
►
十月
(14)
►
七月
(1)
►
2012
(3)
►
十一月
(2)
►
八月
(1)
自學程式誌©2015.AllRightsReserved.
CreatedbyThemeXpose
延伸文章資訊
- 1類別圖- 維基百科,自由的百科全書
類別圖是物件導向式的建模。他們一般都被用於概念建模(conceptual modelling)的系統分類的應用程式,並可將模型建模轉譯成程式碼 ...
- 2UML類別圖: 傳遞參數和Dependency - 自學程式誌
『Class Student uses class Course』則是圖一英文的描述式,而它的動詞關鍵字 ... 換句話說,我們可以由類別圖關係線(dependency, aggregation...
- 3「林況類別圖」英文翻譯及相關英語詞組- 澳典漢英詞典
林況類別圖. 1.condition class map. 「林分類別圖」的英文. 1.cover type map. 2.type map. 「類別」的英文. 1.regimentation....
- 4【UML】Class Diagram 類別圖(上):Introduction 簡介
wiki 英文版:https://en.wikipedia.org/wiki/Class_diagram ... 下一篇:Class Diagram 類別圖(下):Relationships 關...
- 5類別圖- 管理學名詞- 英文翻譯 - 三度漢語網