UML-類圖-Composition(組合)和Aggregation(聚合)的區別

good vegetable發表於2020-10-09

簡而言之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

相關文章