聚合和组合之间的区别?

时间:2021-02-20 19:13:08

标签: java oop

聚合和组合有什么区别?我在课堂上没看懂,如果可以请给我一些例子或更多的解释。

2 个答案:

答案 0 :(得分:1)

聚合意味着一种关系,其中子级可以独立于父级而存在。示例:班级(父母)和学生(孩子)。删除班级,学生仍然存在。

组合意味着一种关系,其中子级不能独立于父级而存在。示例:House(父母)和 Room(孩子)。房间不与房子分开存在。 Read more...

答案 1 :(得分:1)

如果一个模型中的两个类需要相互通信,它们之间必须有一个链接,可以用一个关联(connector)来表示。

聚合和组合是关联的子集,这意味着它们是关联的特定情况。在一个类的聚合和组合对象中,“拥有”另一个类的对象。但有一个微妙的区别:

它们之间的区别在于,在聚合关系中,子对象可以没有父对象而存在,而在组合中 没有父对象,子对象就不能存在。有一个小例子: - 对于组合:假设您有父对象“car”和子对象“engine”。没有发动机,汽车就无法存在。 -对于聚合:假设您有父对象“冰淇淋”和子对象“顶部”。冰淇淋可以有浇头,但它可以 也存在没有打顶。

相关问题