c++ - 组合和聚合是一种关联形式吗?

标签 c++ oop

我对联想有点困惑。人们说HAS-A关系分为以下几类——关联、聚合和组合。但是,我觉得Aggregation和composition不过是一种关联形式。在我看来,HAS-A关系可以广义上说是关联。该关联可以进一步分类为以下 - 聚合和组合。我说得对吗?

关联类型 -

  1. 聚合。
  2. 作文。

聚合示例 - 水瓶中有水。即使容器、水瓶被破坏,水仍然可以存在。

组成示例 - 人体的心脏。人身灭,心亦灭。我知道心脏移植也是可能的。但是,撇开这个原则不谈,这个例子应该已经足够好了。

最佳答案

People say that HAS-A relationship is classified as the following - Association, aggregation and composition.

谁 - 有引用资料吗?关联可以类似于特定航线(例如东京到巴黎)与特定飞机之间的双向关系。显然,那里不存在“有一个”关系……没有组合中的所有权,也没有聚合中的部分/整体关系……它们在关系中是平等的。

However, I feel that Aggregation and composition are nothing but a form of association.

聚合和组合关联形式,但这并不是说它们“不过是”关联形式——它们还传达其他功能,例如所有权和潜在封装。

In my opinion, HAS-A relationship can be broadly said as association. The association can be further classified as the following - Aggregation and composition. Am I correct on it?

不,我不会说你是对的。你可以说“has-a”关系是一种关联形式,但不能说这两者是等价的;关联是超集,包含“has-a”关系和其他形式的关联。

关于c++ - 组合和聚合是一种关联形式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23988061/

相关文章:

c++ - ISO 8601 时间戳 C++

php - 有没有办法设置一个类变量以应用于 php 中该类的所有实例?

javascript - 原型(prototype)对象继承

C++: myfile.open ("example.txt") 行:找不到文件?

c++排序算法难度与数组长度

C++11 非静态成员初始值设定项和已删除的复制构造函数

oop - 为什么go语言的方法有奇怪的语法

c++ - 将小部件添加到布局仅适用于自定义类的构造函数

oop - Fortran OOP 通用

r - 是否有可能使用Mixins在Raku中复制R的 'named vectors'概念的简便方法?