UML的关联(Association), 聚合(Aggregation), 组合(Composition)区别

UML的关联(Association), 聚合(Aggregation), 组合(Composition)区别

三者描述对象的附属[也就是依赖]关系: 关联<聚合<组合, 依赖关系是逐渐加强的.


聚合和组合的关系,表示一个类对象持有另外的类对象作为自己的一个属性.
关联仅仅表示一个对象跟另外的对象发生了通信, 没有持有它作为对象. 所以人们说:
关联描述的是方法层次上的交互, 而聚合和组合是描述属性层次上的交互!
For Example: 邮递员和你的交互, 属于关联, 因为他只是拜访你, 给你送一封信.
邮递员和邮局的关系,属于聚合或者组合{暂且只区分关联关系}.
原因是: 你打电话给邮递员送信,邮递员不一定听你的, 而邮局就不同了, 它要自己的
邮递员送信, 邮递员敢不听话吗?
这就是关联跟其它两种方法的区别, 你没有持有对方做为自己的属性, 用一次,算别人给你
的恩赐, 但你不可能肆意指挥它

聚合和组合的关系:
他们都将对象持有为属性. 但这是不同的.
比如你买的书, 和你借的书. 现在都放在家里. 但概念是不同的, 你买的书,可以随便处理,
鬼划糊涂,但图书馆的借来的书,你能这么干吗? 聚合:大家都可持有,但不可完全占有,组合:
私有财产.


他们是描述对象之间的关系, 不要惊讶, 确实是对象. 即使是用类图表示他们的关系,
也是类的对象关系, 所以, 要解决这个问题,一定要联系现实的对象.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值