UML-类图-Composition(组合)和Aggregation(聚合)的区别

简而言之Composition(组合)关系是一个类不可以脱离另一个而存在,Aggregation(聚合)关系是两个类可以单独存在。

Composition(组合)

例如,翅膀不可以脱离鸟存在,翅膀是鸟的一个器官。
UML-类图-Composition(组合)和Aggregation(聚合)的区别_第1张图片

上图的uml代码如下,可以参考PlantUML使用方法。

@startuml
class bird {
	+bird()
	+void fly()
	+void jump()
}
class wing {
	-float length
	-String color 
	+void shake()
}

wing --* bird
@enduml

Aggregation(聚合)

键盘和鼠标等可以脱离电脑存在。

UML-类图-Composition(组合)和Aggregation(聚合)的区别_第2张图片
上图的uml代码如下

@startuml
class computer {
}
class keyboard {
}
class mouse {
}
keyboard --o computer
mouse --o computer
@enduml

你可能感兴趣的:(面向对象技术,uml,类图)