当前位置: 首页 > 知识库问答 >
问题:

仅关联和聚合的区别以及何时使用它们

杜俊风
2023-03-14

我知道关于这个问题有很多文章和答案,但我真的不明白。我读了许多答案,但我不能完全理解它。我知道什么是联想,聚合,组合。我的问题很简单,只有聚合和关联的区别是什么,什么时候使用它们。我说的不是作文。例如课程和学生是两个类。现在他们之间是哪种关系。是关联还是聚合?

共有1个答案

从景曜
2023-03-14

“聚合”是指将事物相加。在UML类建模的上下文中,这意味着一个类是另一个类的一部分。明确地说(听起来你已经知道了)合成是一种聚合形式——合成简单地意味着正在合成的类不能存在于合成类之外(也称为“强聚合”),而聚合意味着合成的类可以存在于合成之外(也称“弱聚合”)。例如,一辆车可能有四个轮子,但这些轮子在离开车时可以存在(弱形态),而大脑不能存在于大脑之外(强形态)。

“关联”是指两件事以某种方式联系在一起。在UML类建模的上下文中,它只意味着这些。

考虑到这一点,“课程”和“学生”之间的关系似乎是一种关联,因为两者都不聚合。当然,这是假设你和我对课程和学生的意思是一样的。

 类似资料:
  • 我理解聚合和组合之间的区别,但我在联想方面有点挣扎。我目前的理解是,当“它们相互使用”时,类之间存在关联,例如,在方法调用期间将一个对象传递给另一个对象。另请参阅: http://www.codeproject.com/Articles/330447/Understanding-Association-Aggregation-and-Composit 这两个对象都是独立存在的,和聚合不同,任何对象

  • 本文向大家介绍Java中关联与聚合之间的区别,包括了Java中关联与聚合之间的区别的使用技巧和注意事项,需要的朋友参考一下 协会 就对象而言,关联是指两个相关对象之间的“具有”关系。例如,一个雇员有一个通讯地址。 聚合 就对象而言,聚合是指两个相关对象之间具有“ +”关系。例如,一个部门有多名员工。它指的是在父类中具有子对象的集合。例如: 序号 键 协会 聚合 1 定义 关联是指彼此使用的两个类之

  • 问题内容: 在Swift 2.0中 ,Apple引入了一种处理错误的新方法(do- try-catch)。几天前,在Beta 6中,甚至引入了一个更新的关键字()。另外,知道我可以使用。这3个关键字之间有什么区别,何时使用每个关键字? 问题答案: 已为Swift 5.1更新 假定以下抛出函数: 当您尝试调用可能抛出的函数时,有2个选项。 您可以通过将呼叫围绕在do-catch块中来承担 处理错误

  • 我在Stackoverflow上看到了很多解释关系区别的帖子:关联、聚合、组合和继承,并附有例子。然而,更具体地说,我对每种方法的优点和缺点,以及什么时候一种方法对手头的任务最有效感到困惑。这是我一直无法找到一个好答案的事情。 为了与论坛的指导方针保持一致,我没有问为什么人们个人更喜欢使用继承而不是组合。我特别感兴趣的是每种方法中的任何客观优点/缺点,尽管听起来很强。一、 e.一种方法是创建比另一

  • 我开始研究 OOAD,我很难找到一个 代码示例来说明如何以编程方式实现、和。(到处都有几篇文章,但它们与 C# 或 Java 有关)。我确实找到了一两个例子,但它们都与我的导师的指示相冲突,我很困惑。 我的理解是,在: < li >关联:Foo有一个指向Bar对象的指针作为数据成员 < li >聚合:Foo有一个指向Bar对象的指针,Bar的数据被深度复制到该指针中。 < li >组成:Foo有一

  • 问题内容: 我以前用映射“关键字”存储了一些字段。但是,它们是区分大小写的。 为了解决这个问题,可以使用分析仪,例如 与映射 但是,按期进行汇总不起作用。 原因:java.lang.IllegalArgumentException:默认情况下,在文本字段上禁用Fielddata。在[a]上设置fielddata = true,以通过反转取反的索引将字段数据加载到内存中。请注意,这可能会占用大量内存