UML中组合和聚集的区别

组合(contains-a)  <-------->聚集(has-a);

组合关系表示整体和部分的关系比较强,而聚集表示整体和部分的关系比较弱;在组合关系中,代表整体的对象如果销毁了,那么代表部分对象也随之销毁;而在聚集中代表整体的对象如果销毁了,代表部分的对象不一定销毁。

通俗的举个例子:

建造飞机通常需要一个至少包含一个员工的团队,一个团队当然可以建造很多飞机。团队员工的工种包括电气工程师、机械工程师和系统工程师等。飞机的构造很复杂,有很多零件组成,有些零件简单、可以直接使用;有些零件复杂,要用其它零件组装后才能成为飞机的零件。

分析可得:

对于飞机团队员工可以有电气工程师,机械工程师,系统工程师等,关系是聚集关系(飞机团队是整体对象,其中的各类工程师是部分对象),现在如果飞机团队不存在了,那么其中的工程师还是存在的; 对于飞机构造,飞机由不同的零件组成,所以关系可分析为组合关系(飞机是整体对象,其中的零件是部分对象),现在吐过飞机不存在了,那么零件也就不存在了(飞机由零件构成,没有了飞机何来零件。


其他有关对象引用的含义可参考博客:https://www.cnblogs.com/dfyz/articles/5418413.html


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值