`
ostrichmyself
  • 浏览: 37409 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

UML 
阅读更多
UML的关联(Association), 聚合(Aggregation), 组合(Composition)区别

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


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

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


他们是描述对象之间的关系, 不要惊讶, 确实是对象. 即使是用类图表示他们的关系,
也是类的对象关系, 所以, 要解决这个问题,一定要联系现实的对象.
分享到:
评论

相关推荐

    UML类图几种关系的总结 - OPEN 开发经验库

    在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖

    UML类图几种关系的总结

    UML类图几种关系的总结: 常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)

    UML:类图关系总结

    在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 泛化(Generalization) 【泛化关系】:是一种...

    UML类图与类的关系详解

    其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)...

    设计模式

    本篇会讲解在UML类图中,常见几种关系:泛化(Generalization),依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition)。泛化关系是继承或实现的关系,是isa关系,具体表现为类与类的继承...

    UML图之一:类图

    类图中的关系:1:一般化(Generalization)关系2:关联(Association)关系2.1:聚合(Aggregation)关系2.2:合成(Composition)关系3:依赖(Dependency)关系

Global site tag (gtag.js) - Google Analytics