UML類圖關係
1. 依賴(Dependency)
實體之間一個“使用”關係暗示一個實體的規範發生變化後,可能影響依賴於它的其他例項。更具體地說,它可轉換為對不在例項作用域內的一個類或物件的任何型別的引用。其中包括一個區域性變數,對透過方法呼叫而獲得的一個物件的引用(如下例所示),或者對一個類的靜態方法的引用(同時不存在那個類的一個例項)。也可利用“依賴”來表示包和包之間的關係。由於包中含有類,所以你可根據那些包中的各個類之間的關係,表示出包和包的關係。
2. 關聯(Association)
實體之間的一個結構化關係表明物件是相互連線的。箭頭是可選的,它用於指定導航能力。如果沒有箭頭,暗示是一種雙向的導航能力。在Java中,關聯轉換為一個例項作用域的變數,就像圖E的“Java”區域所展示的程式碼那樣。可為一個關聯附加其他修飾符。多重性(Multiplicity)修飾符暗示著例項之間的關係。在示範程式碼中,Employee可以有0個或更多的TimeCard物件。但是,每個TimeCard只從屬於單獨一個Employee。
3. 聚合(Aggregation)
聚合是關聯的一種形式,代表兩個類之間的整體/區域性關係。聚合暗示著整體在概念上處於比區域性更高的一個級別,而關聯暗示兩個類在概念上位於相同的級別。聚合也轉換成Java中的一個例項作用域變數。
關聯和聚合的區別純粹是概念上的,而且嚴格反映在語義上。聚合還暗示著例項圖中不存在迴路。換言之,只能是一種單向關係。
4. 合成(Composition)
合成是聚合的一種特殊形式,暗示“區域性”在“整體”內部的生存期職責。合成也是非共享的。所以,雖然區域性不一定要隨整體的銷燬而被銷燬,但整體要麼負責保持區域性的存活狀態,要麼負責將其銷燬。
區域性不可與其他整體共享。但是,整體可將所有權轉交給另一個物件,後者隨即將承擔生存期職責。Employee和TimeCard的關係或許更適合表示成“合成”,而不是表示成“關聯”。
5. 泛化(Generalization)
泛化表示一個更泛化的元素和一個更具體的元素之間的關係。泛化是用於對繼承進行建模的UML元素。在Java中,用extends關鍵字來直接表示這種關係。
6. 實現(Realization)
例項關係指定兩個實體之間的一個合同。換言之,一個實體定義一個合同,而另一個實體保證履行該合同。對Java應用程式進行建模時,實現關係可直接用implements關鍵字來表示。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23937368/viewspace-1057654/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- UML類圖--類之間的關係
- UML類圖介紹&類的六大關係
- 五分鐘看懂UML類圖與類的關係詳解
- UML 之 各種檢視簡介 & UML類圖幾種關係的總結
- UML類圖
- UML類圖詳解
- iOS開發技巧·傻瓜式從工程檔案匯出類關係圖(UML) -- OmniGraffle方案iOS
- 設計模式存在哪些關聯關係,六種關係傻傻分不清--- UML圖示詳解設計模式
- 設計模式-UML關係基礎設計模式
- 看懂UML類圖和時序圖時序圖
- UML類圖繪製例項
- 類圖的6大關係詳解
- UML設計:類圖說明及一步一步製作UML類圖
- 透過一份經典的UML類圖來學會如何讀懂UML類圖
- 五分鐘讀懂UML類圖
- 集合類關係
- python 類關聯關係Python
- 團隊溝通利器之UML——類圖
- 【集合論】序關係 ( 哈斯圖示例 | 整除關係哈斯圖 | 包含關係哈斯圖 | 加細關係哈斯圖 )
- uml類圖中類版型區分--邊界類,控制類,實體類
- UML 類圖看這篇文章就夠了
- 輕鬆理解UML用例圖時序圖類圖的教程時序圖
- IntelliJ IDEA 中uml外掛檢視某類的所有繼承或實現關係 + outline功能IntelliJIdea繼承
- UML筆記——14種UML圖筆記
- 類與類之間的基本關係
- 【UML】UML幾種圖的繪製
- UML圖,時序圖時序圖
- 【java】類之間的關係Java
- c++類與類的聚合(Aggregation)關係C++
- 介面、抽象類、普通類之間的關係抽象
- Javascript 設計模式之物件導向與 UML 類圖JavaScript設計模式物件
- 詳解建造者模式(含圖例、UML類圖、原始碼示例等)模式原始碼
- UML順序圖
- UML狀態圖
- UML活動圖
- 專案UML圖
- UML用例圖
- UML 活動圖
- Java類關係之代理(代理模式)Java模式