聚合与构成
内容
聚合和合成之间的主要区别在于,聚合中存在一个父子关系,其中子项可以独立存在,而聚合是父子关系,其中子项在没有父项的情况下不能独立存在。
关联是面向对象编程中非常重要的概念。在面向对象的编程中,数据从类的非成员函数中隐藏。只有类的成员函数才能使用数据。任何非成员函数都可以修改函数类内部的数据。对象和类是面向对象编程的主要概念。在面向对象的程序设计中也可以实现数据封装,也称为抽象和继承。聚合和组合是关联的类型,并且是面向对象编程中非常重要的概念。在聚合中,存在父子关系,其中子项可以独立存在,而组合是父子关系,其中子项在没有父项的情况下不能独立存在。组合在面向对象的编程中有一个共同的范例,这在软件开发中非常重要。关联的限制性形式是一种构成,其中存在父子关系,在这种关系中,如果没有父,子就不能独立存在。在UML中,它由微小的实心菱形表示。
在组成上,组成部分可以链接到组装中的大多数。一类成为容器,另一类成为该容器中的内容。具有继承部分非常容易,并且甚至无需再次编写整个代码就可以使用一个类的方法。组成中存在“一部分”关系。聚集是组装类与构成类之间的关系。在UML中,这是统一的建模语言,显示与线段的聚合关系。聚集显示出诸如一对一,一对多,多对多的关系。如果我们单个类具有多个类,则存在一对多关系,而许多类具有多个对象就是多对一关系。 “具有”是聚合中描述的关系。
内容:聚集与构成之间的区别
- 比较表
- 什么是汇总?
- 关键差异
- 结论
- 解释性视频
比较表
基础 | 聚合 | 组成 |
含义 | 总体而言,存在一个父子关系,其中子可以独立存在 | 构成是父子关系,在这种关系中,没有父母就不能独立存在子。
|
协会 | 聚合中的关联性很弱。 | 构图之间有很强的联系。 |
UML | 在UML中,可以通过使用线段来定义聚合 | 在UML中,可以使用菱形定义组成。 |
功能 | 删除程序集对聚合没有影响。 | 组合物的删除会影响组合物 |
什么是汇总?
聚集是组装类与构成类之间的关系。在UML中,这是统一的建模语言,显示与线段的聚合关系。聚集显示出诸如一对一,一对多,多对多的关系。如果我们单个类具有多个类,则存在一对多关系,而许多类具有多个对象就是多对一关系。 “具有”是聚合中描述的关系。
什么是成分?
关联的限制性形式是一种构成,其中存在父子关系,在这种关系中,如果没有父,子就不能独立存在。在UML中,它由微小的实心菱形表示。在组成上,组成部分可以链接到组装中的大多数。一类成为容器,另一类成为该容器中的内容。具有继承部分非常容易,并且一个类的方法甚至无需再次编写整个代码就可以使用。组成中存在“一部分”关系。
关键差异
- 在聚合中,存在一个父子关系,其中子可以独立存在,而“组合”是父子关系,其中子不能没有父就独立存在。
- 聚集的关联性很弱,而组成的关联性很强,而组成的关联性很强。
- 在UML中,可以使用线段来定义聚合,而在UML中,可以使用菱形来定义聚合。
- 组装的缺失对聚集没有影响,而组合物的缺失会影响组合物
结论
在上面的这篇文章中,我们通过示例看到了聚合和组合之间的明显区别。