聚合和组合

原创 2004年09月03日 18:18:00

聚合(Aggregation):

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

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

组合(Composition):

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

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

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

最后总结一下:

聚合:

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

合成:

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

重新认识java(四) — 组合、聚合与继承的爱恨情仇

有人学了继承,认为他是面向对象特点之一,就在所有能用到继承的地方使用继承,而不考虑究竟该不该使用,无疑,这是错误的。那么,究竟该如何使用继承呢?...
  • qq_31655965
  • qq_31655965
  • 2017-01-21 11:25:50
  • 7598

聚合VS组合的代码实现过程

构造函数,你写与不写,都在那里!
  • lfh15732626246
  • lfh15732626246
  • 2016-06-05 10:30:05
  • 1159

Java中组合与聚合的区别

今日得闲,拿来一直放着的《Thinking in Java》来看,前面就说到组合跟聚合,之前看过现在也记了,上网查了一下,大家说的都有道理。李笑来老师说过,一个好的类比对于正确的理解和实践某个事物是非...
  • baidu_25555389
  • baidu_25555389
  • 2017-06-30 17:43:31
  • 1019

C++里的组合与聚合关系

组合关系(Composition):部分和整体之间具有相同的生命周期,当整体消亡后,部分也将消亡。就像大雁的翅膀和大雁是组合关系。代码实现时,部分类在整体类的构造函数中被构造,在析构函数中被析构。 ...
  • del_nasay
  • del_nasay
  • 2015-08-12 21:12:50
  • 2375

C++之类的组合(聚合)

在我们对现实中的某些事物抽象成类时,可能会形成很复杂的类,为了更简洁的进行软件开发,我们经常把其中相对比较独立的部分拿出来定义成一个个简单的类,这些比较简单的类又可以分出更简单的类,最后由这些简单的类...
  • sinat_20265495
  • sinat_20265495
  • 2016-06-23 23:23:40
  • 1884

java中组合与聚合(聚集)的区别

组合和聚合是有很大区别的,这个区别不是在形式上,而是在本质上: 比如A类中包含B类的一个引用b,当A类的一个对象消亡时,b这个引用所指向的对象也同时消亡(没有任何一个引用指向它,成了垃圾对象),这种情...
  • f330468286
  • f330468286
  • 2013-04-17 08:53:55
  • 3329

组合/聚合复用原则详解--七大面向对象设计原则(7)

组合/聚合复用原则来源:        在面向对象的设计中,如果直接继承基类,会破坏封装,因为继承将基类的实现细节暴露给子类;如果基类的实现发生改变,则子类的实现也不得不发生改变;从基类继承而来的实现...
  • fanyun_01
  • fanyun_01
  • 2016-07-19 21:56:13
  • 2623

c++中的继承、聚合、关联和组合

一、继承、关联和组合 继承和组合是两个完全不同的概念 继承,表达的是“is-a”的关系,两者之间是一种上下级的关系,比如,我们说“human is a animal“(人是动物的一种,换句...
  • kkForWork
  • kkForWork
  • 2015-05-29 10:00:31
  • 1689

UML之类图分析(依赖、关联、聚合、组合、泛化、实现)

类图的几种关系:依赖、关联、聚合、组合、泛化、实现。
  • WSYW126
  • WSYW126
  • 2016-05-09 13:06:12
  • 2175

依赖、关联、聚合和组合及其之间区别的简单理解

在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。 1. 依赖(Dependence)         依赖关...
  • zhou1519
  • zhou1519
  • 2014-03-28 21:35:16
  • 1247
收藏助手
不良信息举报
您举报文章:聚合和组合
举报原因:
原因补充:

(最多只允许输入30个字)