聚合(aggregation)和作文(composition)的区别

面向对象编程(OOP)是软件开发中的一种常见范式。对象是类的实例。一次创建对象是不可能的。应该有一个蓝图或描述来创建一个对象。这个蓝图被称为类。类包含属性和方法。对象是使用类创建的。类和对象类似于现实世界中的平面图和房屋。没有正确的计划是不可能建房子的。同样地,类用于创建对象。一个对象与其他对象协作。表示两个或多个对象之间关系的链接称为“关联”。聚合和组合是关联的类型。它们描述了阶级之间的关系。本...

关键区别——聚合与组合

面向对象编程(OOP)是软件开发中的一种常见范式。对象是类的实例。一次创建对象是不可能的。应该有一个蓝图或描述来创建一个对象。这个蓝图被称为类。类包含属性和方法。对象是使用类创建的。类和对象类似于现实世界中的平面图和房屋。没有正确的计划是不可能建房子的。同样地,类用于创建对象。一个对象与其他对象协作。表示两个或多个对象之间关系的链接称为“关联”。聚合和组合是关联的类型。它们描述了阶级之间的关系。本文讨论了聚合与组合的区别。聚合和组合的关键区别在于,聚合是两个对象之间的关联,它描述了“has a”关系,而composition是一种更具体的聚合类型,它意味着所有权。

目录

1. 概述和主要区别
2. 什么是聚合
3. 什么是构图
4. 聚合与合成的相似性
5. 并列比较-以表格形式汇总与组合
6. 摘要

什么是聚合(aggregation)?

两个对象之间的关系通过在统一建模语言(UML)中画一条线来表示。链接是一种关联。UML有助于获得系统的可视化表示。它不同于常规编程语言。关联还定义了对象的多重性。它们是一对一、一对多和多对多。当a类的单个对象与B类的单个对象相关联时,这是一种一对一的关系。一个例子是一个作家在写一本书。在这个例子中,一个作者正在写一本书。

当A类的一个对象与B类的许多对象相关联时,它是一对多的关系。例如,一个部门可以有很多员工。当类A的对象与B类的多个对象关联,而B类的对象与A类的多个对象关联时,则是多对多的关联。一个例子是,一个雇员可以从事多个项目,而一个项目可以有多个雇员。

聚合是进一步描述对象之间关系的类型关联。聚合描述“具有”关系。一些描述这种关系的例子是,一个学生“有”学生证,“一辆车”有一个“引擎”。也有可能用这种关系来扩大数量。例如,一个银行“有许多”银行账户,一个班“有许多”学生。可以用下面的例子来解释。

聚合(aggregation)和作文(composition)的区别

图01:聚合

根据上面的例子,教室由一个或多个学生组成。多重性也用于表示对象的数量。它描述了一个教室有多个学生。菱形符号表示UML中的聚合。学生对象不依赖于类对象。如果类对象被破坏,它不会影响学生对象。那些物体仍然存在。

什么是作文(composition)?

合成是一种更具体的聚合形式。它描述了所有权。可以用下面的例子来解释。

聚合(aggregation)和作文(composition)的区别

图02:组成

如上所述,book对象由page对象或pages组成。多重性也用于表示对象的数量。它描述了一个教室有多个学生。突出显示的菱形符号表示UML中的组合。由于这本书有一页或多页,所以它是一个聚合,但它更具体。如果book对象被销毁,那么page对象也会被销毁。没有book对象,页面对象就不能存在。因此,组合是包含所有权的更具体的聚合形式。

聚合(aggregation)和作文(composition)的共同点

  • 两者都用于面向对象编程。
  • 两者都是在统一建模语言(UML)中使用的,以获得对系统的直观理解。

聚合(aggregation)和作文(composition)的区别

聚合与合成
“聚合是两个对象之间的关联”。 组合是表示所有权的最具体的聚合类型。
UML符号
聚合用菱形表示。 成分用突出显示的钻石表示。
功能
在聚合中,如果拥有的对象被销毁,则不会影响包含对象。 拥有它的对象,如果它被销毁,将影响它的组成。

总结 - 聚合(aggregation) vs. 作文(composition)

面向对象编程是软件开发中的一个主要范例。在OOP中,系统使用对象进行建模。这些对象不是孤立存在的。对象与其他对象协作。对象之间的关系称为关联。聚合和组合是关联的类型。聚合和组合的区别在于,聚合是两个对象之间的关联,它描述了“has a”关系,而composition是更具体的聚合类型,它意味着所有权。聚合和组合都有助于理解系统的行为。

下载聚合vs composition的pdf版本

你可以下载这篇文章的PDF版本,并按照引文说明离线使用。请在这里下载PDF版本聚合和合成的区别

引用

  • 发表于 2020-10-19 20:29
  • 阅读 ( 215 )
  • 分类:IT

你可能感兴趣的文章

作文(composition)和反应化学计量学(reaction stoichiometry)的区别

...反应化学计量的表格形式 5. 摘要 什么是成分化学计量学(composition stoichiometry)? 化学计量学是对一种化合物的原子组成进行定量分析。这个术语是指在一种特定化合物中存在的原子的类型及其数量。我们可以用化合物的化学式来...

  • 发布于 2020-09-30 16:08
  • 阅读 ( 412 )

聚合水果(aggregate fruit)和多果(multiple fruit)的区别

聚合果与多果的关键区别在于聚合果是由单花的无果核雌蕊群形成的果实,而多果是由一个花序的多个花的雌蕊群形成的果实。 花是有花植物的生殖结构。它促进有性生殖。一朵花有不同的部分。受精后,子房成熟为果实。...

  • 发布于 2020-10-15 09:20
  • 阅读 ( 657 )

聚合(aggregation)和作文(composition)的区别

...聚合是两个对象之间的关联,它描述了“has a”关系,而composition是一种更具体的聚合类型,它意味着所有权。 目录 1. 概述和主要区别 2. 什么是聚合 3. 什么是构图 4. 聚合与合成的相似性 5. 并列比较-以表格形式汇总与组合 6. 摘...

  • 发布于 2020-10-19 20:29
  • 阅读 ( 215 )

聚合(aggregation)和java中的合成(composition in java)的区别

聚合(aggregation)和java中的合成(composition in java)的区别 聚合是描述“has-a”关系的两个对象之间的关联。组合是一种更具体的聚合类型,它意味着所有权。Java中聚合和组合的关键区别在于,如果包含的对象可以在没有拥有对象...

  • 发布于 2020-10-24 01:38
  • 阅读 ( 725 )

协会(association)和聚合(aggregation)的区别

关联与聚合 关联和聚合是两个单独理解的词,因为关联和聚合之间存在区别。它们在使用中不可互换。交往是与人的接触。另一方面,聚合就是把人们联合起来。这是关联和聚合之间的主要区别。作为一个词,联想只用作名...

  • 发布于 2020-10-26 11:13
  • 阅读 ( 189 )

聚合(aggregate)和平均的(average)的区别

聚合(aggregate)和平均的(average)的区别 聚合和平均是计算中经常使用的两个术语。然而,这两个词有两个不同的意思。聚合是指数据集中元素的总和,而平均值是指数据集中的中心值。这是总量和平均数之间的关键区别。 聚合...

  • 发布于 2020-10-28 00:53
  • 阅读 ( 387 )

聚合物混合物(polymer blend)和混合成的(composite)的区别

...种可混溶的聚合物混合物 什么是聚合物复合材料(polymer composite)? 聚合物复合材料是由两种或多种元素组成的化合物,最终形成多相、多组分体系。每一种元素都有自己的特性,即使在被整合到一种复合材料中之后,也能保持其...

  • 发布于 2020-10-28 08:19
  • 阅读 ( 694 )

聚合(aggregation)和集聚(agglomeration)的区别

...团聚形成的团块具有较弱的粒子间物理相互作用。 虽然聚合和聚合这两个词听起来很相似,但它们是我们主要在表面化学和聚合物化学中使用的两个不同的术语。然而,大多数情况下人们可以互换使用这些术语,因为这两种工...

  • 发布于 2020-11-09 11:19
  • 阅读 ( 1007 )

聚合(aggregation)和作文(composition)的区别

...人和他的衣服在某一点上可以被视为一个整体。 Summary:1.Composition implies 其组成物的实际所有权,而聚合不一定拥有其任何聚合。2.组成对其组件具有更强的键,而聚合与其聚合的键较弱或更松散。3.组成具有内部层次上存在的组...

  • 发布于 2021-06-22 14:26
  • 阅读 ( 171 )

作文(composition)和继承(inheritance)的区别

...不能在运行时更改从父类继承的实现。   什么是作文(composition)? OOP提供了类之间的另一种关系,称为composition,也称为has-a关系。如果一个对象的特征需要成为另一个对象的一部分,那么这种关系需要合成。要从现有类组成一...

  • 发布于 2021-06-26 02:18
  • 阅读 ( 239 )
风中落叶0_0
风中落叶0_0

0 篇文章

相关推荐