`
coolerbaosi
  • 浏览: 728899 次
文章分类
社区版块
存档分类
最新评论

UML中聚合与组合的关系

 
阅读更多

聚合和组合同样是来描述类的关系的,他们有很多相似的地方又有很多有差别的地方。

为了便于更好地理解和应用两个概念,在这里做一个简单的比较。

首先,类和类之间的关系有很多种。如关联、依赖、泛化、实现等。

而聚合和组合同属于关联关系,同时又与普通的关联关系有区别。

先说说聚合,他描述的是整体和部分的关系,即一个整体包含多个其他的部分。

两个对象是可以单独存在的。在UML中我们用空心的菱形来表示这种关系。

组合,他描述的也是整体和部分之间的关系,同样是整体和部分,但却是不同的。

在UML中,我们用实心的菱形来表示这种关系。

聚合所描述的两个对象是可以单独存在的,也就是说一个对象可以脱离另一个对象而生存。

而组合则不同,组合所描述的两个对象不是独立存在的,它们在生命周期上是有联系的。

举个例子:电脑和电脑外设之间的关系可以用聚合来描述。电脑外设不会因为电脑的不存在而消失,即电脑外设可以脱离电脑而单独生存。

国和家的之间的关系可以用组合来描述。假如国不存在了,家也就不再存在,即国和家的生存期是有关系的。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics