UML類圖幾種關係的總結
在UML類圖中,常見的有以下幾種關係:泛化(Generalization), 實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency)
1.泛化(Generalization)
【泛化關係】:是一種繼承關係,它指定了子類如何特化父類的所有特徵和行為例如:老虎是動物的一種.
【箭頭指向】:帶三角箭頭的實線,箭頭指向父類
2.實現(Realization)
【實現關係】:是一種類與介面的關係,表示類是介面所有特徵和行為的實現
【箭頭指向】:帶三角箭頭的虛線,箭頭指向介面
3.關聯(Association)
【關聯關係】:是一種擁有的關係,它使一個類知道另一個類的屬性和方法;如:老師與學生,丈夫與妻子
關聯可以是雙向的,也可以是單向的。雙向的關聯可以有兩個箭頭或者沒有箭頭,單向的關聯有一個箭頭。
【程式碼體現】:成員變數
【箭頭及指向】:帶普通箭頭的實心線,指向被擁有者
上圖中,老師與學生是雙向關聯,老師有多名學生,學生也可能有多名老師。但學生與某課程間的關係為單向關聯,一名學生可能要上多門課程,課程是個抽象的東西他不擁有學生。
上圖為自身關聯:
4. 聚合(Aggregation)
【聚合關係】:是整體與部分的關係.如車和輪胎是整體和部分的關係.
聚合關係是關聯關係的一種,是強的關聯關係;關聯和聚合在語法上無法區分,必須考察具體的邏輯關係。
【程式碼體現】:成員變數
【箭頭及指向】:帶空心菱形的實心線,菱形指向整體
5. 組合(Composition)
【組合關係】:是整體與部分的關係.,沒有公司就不存在部門 組合關係是關聯關係的一種,是比聚合關係還要強的關係,它要求普通的聚合關係中代表整體的物件負責代表部分的物件的生命週期
【程式碼體現】:成員變數
【箭頭及指向】:帶實心菱形的實線,菱形指向整體
6. 依賴(Dependency)
【依賴關係】:是一種使用的關係,所以要儘量不使用雙向的互相依賴。
【程式碼表現】:區域性變數、方法的引數或者對靜態方法的呼叫
【箭頭及指向】:帶箭頭的虛線,指向被使用者
各種關係的強弱順序:
泛化= 實現> 組合> 聚合> 關聯> 依賴
下面這張UML圖,比較形象地展示了各種類圖關係:
相關文章
- UML 之 各種檢視簡介 & UML類圖幾種關係的總結
- UML類圖關係
- UML 類圖及關係
- UML類圖--類之間的關係
- UML類圖總結
- UML類圖與類的關係詳解
- UML類圖介紹&類的六大關係
- 五分鐘看懂UML類圖與類的關係詳解
- UML中類之間的關係
- 大話UML中類之間的關係
- 我所理解的OOP——UML六種關係OOP
- 【UML入門教程】——UML關係
- 設計模式存在哪些關聯關係,六種關係傻傻分不清--- UML圖示詳解設計模式
- 再次說UML 中的關係
- UML筆記——14種UML圖筆記
- 淺談UML中類之間的五種關係及其在程式碼中的表現形式
- 地圖編輯器幾種實現的總結地圖
- UML 剖析(2) —— 類圖關聯和時序圖時序圖
- UML類圖詳解
- Qt類繼承關係圖QT繼承
- 類圖的6大關係詳解
- QT中類之間的關係圖QT
- php 非同步上傳圖片幾種方法總結PHP非同步
- 關於光纖交換機種類大總結
- 【UML之物件圖VS類圖】物件
- 【UML入門教程】——靜態結構(下):類圖
- 一張圖讓你記住uml的常用關係的簡單圖例
- JUC鎖種類總結
- UML學習總結
- 設計模式-UML關係基礎設計模式
- AS3類關係圖AIR版S3AI
- 深入淺出UML類圖
- UML基礎系列:類圖
- 【物件導向依賴關係概念總結】物件導向程式設計的五種依賴關係物件程式設計
- Java中常見的集合容器類關係圖Java
- iOS開發技巧·傻瓜式從工程檔案匯出類關係圖(UML) -- OmniGraffle方案iOS
- 看懂UML類圖和時序圖時序圖
- 【UML】2.部分與整體的媒介:關係