UML 类图中聚合和组合的区别

来源:互联网 发布:咫尺微名片源码 编辑:程序博客网 时间:2024/06/05 20:48

聚合关系

 

由上图知道,Wheel类扮演wheels角色,聚合4个到Car对象里面去

UML类图符号中空心的菱形表示Wheel对象并不随Car的创建而创建,销毁而销毁。



组合关系

 

由上图知道,Company类完全由Department对象组成。

UML类图符号中实心菱形表示Department对象随Company对象的创建而创建,销毁而销毁。

 

聚合(Aggregation):

   这是一种松散的对象间的关系.举个例子:计算机和他的外围设备就是一例.

  用来表示拥有关系或者整体与部分的关系。


 

组合(Composition):

这是一种非常强的对象间的关系,举个例子,树和它的树叶之间的关系.

在一个合成里,部分与整体的生命周期都是一样的。一个合成的新对象完全拥有对其组成

部分的支配权。包括他们的创建和毁灭。


 

聚合:

  •  聚合有时能够不依赖部分而存在,有时又不能
  • 部分可以独立于聚合而存在
  • 如果有一部分遗失,聚合会给人一种不完全的感觉
  • 部分的所有权可以由几个聚合来共享,比如打印机

组合:

  • 部分某一时刻只能属于某一个组成
  • 组成唯一的负责处理它的所有部分--这就意味着负责他们的创建与销毁
  • 倘若对于部分的职责由其他对象来承担的话,组成也就可以放松这些职责。
  • 如果组成销毁的话,它必须销毁所有的部分,或者把负责他们的权利转移给其他对象。
0 0
原创粉丝点击