java中的组合和聚合有啥区别? [复制]

Posted

技术标签:

【中文标题】java中的组合和聚合有啥区别? [复制]【英文标题】:What is the difference between composition and aggregation in java? [duplicate]java中的组合和聚合有什么区别? [复制] 【发布时间】:2020-03-18 03:04:38 【问题描述】:

如果我正确理解组合和聚合是对象共享的关系。 在组合中,依赖对象不能没有父对象而存在。而在聚合中,依赖对象可以在没有父对象的情况下存在。 组合是通过具有非静态内部类但聚合通过具有静态内部类或对象引用在 java 中实现的。 如果我错了,请纠正我。浏览了很多网页,但没有得到满意的答案,只是感到困惑。

【问题讨论】:

请举例说明 请展示您看过的内容。网上的教程一般都不错。 【参考方案1】:

首先,Composition 和 Aggregation 都是部分关联。 关联意味着类之间存在关系。

Composition中,两个实体高度依赖,没有另一个实体,组成的对象就不能存在。

class Employee



class Company
List<Employee> employeeList;

聚合:

是单向关联(单向关系) 两个条目都可以单独生存,这意味着结束一个实体不会影响另一个实体

//Either girl like boy
class Girl
 List<Boy> boyList;


//Either boy like like
class Boy
 List<Girl> girlList;

我给出这个例子是因为我是一名程序员,你也知道这一点。

【讨论】:

以上是关于java中的组合和聚合有啥区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

java中的组合与聚合,区别。。。详细点

java 聚合和组合的区别?

什么是java聚合工程

组合和聚合有啥问题?

OOP 中的 组合聚合和关联有什么区别?

java--依赖关联聚合和组合之间区别的理解