UML-類圖-Composition(組合)和Aggregation(聚合)的區別
簡而言之Composition(組合)關係是一個類不可以脫離另一個而存在,Aggregation(聚合)關係是兩個類可以單獨存在。
Composition(組合)
例如,翅膀不可以脫離鳥存在,翅膀是鳥的一個器官。
上圖的uml程式碼如下,可以參考PlantUML使用方法。
@startuml
class bird {
+bird()
+void fly()
+void jump()
}
class wing {
-float length
-String color
+void shake()
}
wing --* bird
@enduml
Aggregation(聚合)
鍵盤和滑鼠等可以脫離電腦存在。
上圖的uml程式碼如下
@startuml
class computer {
}
class keyboard {
}
class mouse {
}
keyboard --o computer
mouse --o computer
@enduml
相關文章
- 組合,關聯,聚合的區別
- [轉載]繼承(Generalization),組合(Composition),聚合(Aggregation),關聯(Association),依賴(Dependency),實現(Realization繼承
- c++類與類的聚合(Aggregation)關係C++
- 談一談自己對依賴、關聯、聚合和組合之間區別的理解
- 區間統計 聚合函式組合器函式
- MySQL單列索引和組合索引的區別MySql索引
- Django 中 Aggregation聚合的使用Django
- MySQL單列索引和組合索引的區別介紹MySql索引
- 介面和抽象類的區別抽象
- list和tuple元組的區別
- 組播和廣播的區別
- MongoDB系列--深入理解MongoDB聚合(Aggregation )MongoDB
- java的類之間的關係:泛化、依賴、關聯、實現、聚合、組合Java
- 什麼是組合資料型別?Python組合資料型別分為幾類?資料型別Python
- Object類和String類equals方法的區別Object
- 一組圖詮釋CNN及RNN的區別CNNRNN
- 物件導向 -- 類的組合物件
- Python_類的組合Python
- JAVA中介面和抽象類的區別Java抽象
- MDIFrameWnd類GetActiveFrame和MDIGetActive的區別
- 抽象類和介面的區別抽象
- MVC下的DAO介面類和SERVICE介面類區別?MVC
- Python中的元組和列表的區別Python
- python新式類和舊式類區別Python
- Association, Composition and Aggregation in UI5, CRM, S/4HANA and C4CUI
- 多卡聚合路由器和普通路由器的區別路由器
- 多卡聚合路由器和企業路由器的區別路由器
- 偽元素和偽類的區別總結
- HTTP協議類POST 和GET的區別HTTP協議
- 伺服器硬碟的分類和區別伺服器硬碟
- 物件建立模式和類建立模式的區別物件模式
- 總結python 元組和列表的區別Python
- Excel 散點圖和折線圖的區別Excel
- 類的組合、繼承、模板類、標準庫繼承
- ETL中雙流合併和多流合併的區別
- java-介面和抽象類的聯絡和區別。Java抽象
- 耦合與聚合的區別比單體與微服務區別更重要微服務
- 【力扣】組合總和3(組合的去重)力扣