组合(contains-a) <-------->聚集(has-a);
组合关系表示整体和部分的关系比较强,而聚集表示整体和部分的关系比较弱;在组合关系中,代表整体的对象如果销毁了,那么代表部分对象也随之销毁;而在聚集中代表整体的对象如果销毁了,代表部分的对象不一定销毁。
通俗的举个例子:
建造飞机通常需要一个至少包含一个员工的团队,一个团队当然可以建造很多飞机。团队员工的工种包括电气工程师、机械工程师和系统工程师等。飞机的构造很复杂,有很多零件组成,有些零件简单、可以直接使用;有些零件复杂,要用其它零件组装后才能成为飞机的零件。
分析可得:
对于飞机团队员工可以有电气工程师,机械工程师,系统工程师等,关系是聚集关系(飞机团队是整体对象,其中的各类工程师是部分对象),现在如果飞机团队不存在了,那么其中的工程师还是存在的; 对于飞机构造,飞机由不同的零件组成,所以关系可分析为组合关系(飞机是整体对象,其中的零件是部分对象),现在吐过飞机不存在了,那么零件也就不存在了(飞机由零件构成,没有了飞机何来零件。
其他有关对象引用的含义可参考博客:https://www.cnblogs.com/dfyz/articles/5418413.html