我正在复习面向对象编程方面的知识。在类之间的关系主题下,我遇到了一些对我来说有点模糊的关系。
我知道依赖项“uses-a”和继承“is-a”,但我对聚合、组合、关联和直接关联有点不熟悉;另外,其中哪一个是“has-a”关系。有些可以与关联互换使用聚合。
什么是直接关联?另外,什么是组合?在 UML 图中,表示它们的箭头是不同的。如果您能为我解决这些问题,我将非常感激。
请注意,对“关联”定义有不同的解释。我的以下观点很大程度上基于您在 Oracle 认证书籍和学习指南中读到的内容。
临时协会
A usage 在方法内部、其签名或作为返回值。它实际上并不是对特定对象的引用。
示例:我把车停在车库里。
作文协会
一个所谓的“牢固的关系": 链接对象的实例化通常很困难
编码在对象的构造函数内。不能从以下位置设置
物体之外。 (作品cannot成为多对多
关系。)
示例:房子是由石头组成的。
直接关联
这是一个 ”关系薄弱”。对象可以独立存在,并且通常有设置器或其他方式来注入依赖对象。
示例:汽车可以载乘客。
聚合关联
与直接关联非常相似。这也是一个“关系薄弱“具有独立的对象。然而,这里关联的对象是包含对象的关键部分。
示例:汽车应该有轮胎。
注意:直接关联和聚合关联通常统称为“关联”。差异相当微妙。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)