UML的关联(Association), 聚合(Aggregation), 组合(Composition)区别
三者描述对象的附属[也就是依赖]关系: 关联<聚合<组合, 依赖关系是逐渐加强的.
聚合和组合的关系,表示一个类对象持有另外的类对象作为自己的一个属性.
关联仅仅表示一个对象跟另外的对象发生了通信, 没有持有它作为对象. 所以人们说:
关联描述的是方法层次上的交互, 而聚合和组合是描述属性层次上的交互!
For Example: 邮递员和你的交互, 属于关联, 因为他只是拜访你, 给你送一封信.
邮递员和邮局的关系,属于聚合或者组合{暂且只区分关联关系}.
原因是: 你打电话给邮递员送信,邮递员不一定听你的, 而邮局就不同了, 它要自己的
邮递员送信, 邮递员敢不听话吗?
这就是关联跟其它两种方法的区别, 你没有持有对方做为自己的属性, 用一次,算别人给你
的恩赐, 但你不可能肆意指挥它
聚合和组合的关系:
他们都将对象持有为属性. 但这是不同的.
比如你买的书, 和你借的书. 现在都放在家里. 但概念是不同的, 你买的书,可以随便处理,
鬼划糊涂,但图书馆的借来的书,你能这么干吗? 聚合:大家都可持有,但不可完全占有,组合:
私有财产.
他们是描述对象之间的关系, 不要惊讶, 确实是对象. 即使是用类图表示他们的关系,
也是类的对象关系, 所以, 要解决这个问题,一定要联系现实的对象.
分享到:
相关推荐
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖
UML类图几种关系的总结: 常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 泛化(Generalization) 【泛化关系】:是一种...
其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)...
本篇会讲解在UML类图中,常见几种关系:泛化(Generalization),依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition)。泛化关系是继承或实现的关系,是isa关系,具体表现为类与类的继承...
类图中的关系:1:一般化(Generalization)关系2:关联(Association)关系2.1:聚合(Aggregation)关系2.2:合成(Composition)关系3:依赖(Dependency)关系