组合和聚合比较类似,二者都表示整体和部分之间的关系。
聚合关系的特点是:整体由部分构成,但是整体和部分之间并不是强依赖的关系,而是弱依
赖的关系,也就是说,即使整体不存在了,部分仍然存在。例如一个部门由多个员工组成,如果部
门撤销了,人员不会消失,人员依然存在。
组合关系的特点是:整体由部分构成,但是整体和部分之间是强依赖的关系,如果整体不存
在了,部分也随之消失。例如一个公司由多个部门组成,如果公司不存在了,部门也将不存在。
可以说,组合关系是一种强依赖的、特殊的聚合关系。
在
UML
图中,聚合关系用一条带空心菱形箭头的直线表示,组合关系用一条带实心菱形箭头
直线表示。聚合与组合在
UML
图上的区别如图