由于聚合和合成是相关的,所以我们可以说它提供了对对象或其他任何事物之间关系的理解。
我贴出这个问题是因为我在采访中问了一个问题,那就是什么是组成和聚合。
因此,根据我的理解,我提出了我的想法,如下所示。
http://www.coderanch.com/t/522414/java/java/Association-Aggregation-Composition
也参观了更多的地方。
我的基本解释是,聚合表示松散的关系,而组合则表示强烈的关系,并对此有明确的解释。
但是面试官侮辱了我,并说,,这是你说的理论概念,你说我想要完美的Java代码,它们有多么不同,并且告诉你,如果我给你一个小的应用程序,那么你如何确定这是聚合,这是组合?
所以,现在我想了解纯技术概念和Java代码,它们有什么不同,是什么?
发布于 2018-03-24 09:16:52
A想在解释的答案中添加更多的信息
聚合是一种特殊的组合形式(关联是通过它们的对象建立的两个独立类之间的关系。关联可以是一对一、一对多、多对一、多对多的。
组合是一种受限的聚合形式,其中两个实体彼此高度依赖。
聚集与合成
-依赖关系:聚合意味着子节点可以独立于父级存在的关系。例如,“部门和员工”,删除“部门”,员工仍然存在。然而,组合意味着孩子不能独立于父母而存在的关系。例如:人和心,心并不独立于人。
-关系类型:聚合关系是“有-a”,组合是“部分--”关系。
-类型的关联:组合是强关联,而聚集是弱关联。
参考资料:https://www.geeksforgeeks.org/association-composition-aggregation-java/
https://stackoverflow.com/questions/20304116
复制相似问题