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筆記——14種UML圖筆記
- UML類圖詳解
- 類之間的6種關係詳解
- 類圖的6大關係詳解
- iOS開發技巧·傻瓜式從工程檔案匯出類關係圖(UML) -- OmniGraffle方案iOS
- 設計模式-UML關係基礎設計模式
- php 非同步上傳圖片幾種方法總結PHP非同步
- 【物件導向依賴關係概念總結】物件導向程式設計的五種依賴關係物件程式設計
- JUC鎖種類總結
- 看懂UML類圖和時序圖時序圖
- 透過一份經典的UML類圖來學會如何讀懂UML類圖
- uml圖六種箭頭的含義
- UML類圖繪製例項
- 一張圖搞定七種 JOIN 關係
- Latex 中勾的幾種畫法總結
- 執行緒的幾種狀態總結執行緒
- UML設計:類圖說明及一步一步製作UML類圖
- maven--安裝,倉庫的種類和彼此的關係,標準目錄結構Maven
- MYSQL order by排序與索引關係總結MySql排序索引
- UML科普文,一篇文章掌握14種UML圖
- 幾種常見的排序演算法總結排序演算法
- JS 總結之原型繼承的幾種方式JS原型繼承
- python的__init__幾種方法總結【轉載】Python
- 五分鐘讀懂UML類圖
- 集合類關係
- 總結幾種常見的垂直居中的佈局
- 輕鬆理解UML用例圖時序圖類圖的教程時序圖
- IntelliJ IDEA 中uml外掛檢視某類的所有繼承或實現關係 + outline功能IntelliJIdea繼承
- python 類關聯關係Python
- 類與類之間的基本關係
- 團隊溝通利器之UML——類圖
- 【java】類之間的關係Java