java - java中的组合和聚合有什么区别?
问题描述
如果我正确理解组合和聚合是对象共享的关系。在组合中,依赖对象不能没有父对象而存在。而在聚合中,依赖对象可以在没有父对象的情况下存在。组合通过具有非静态内部类但聚合通过具有静态内部类或对象引用在 java 中实现。如果我错了,请纠正我。浏览了很多网页,但没有得到满意的答案,只是感到困惑。
解决方案
首先,组合和聚合都是部分关联。关联意味着类之间存在关系。
在组合中,两个实体相互高度依赖,组合对象没有另一个实体就不能存在。
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;
}
我给出这个例子是因为我是一名程序员,你也知道这一点。
推荐阅读
- python - 如果它等于另一个值,则返回 json 数组中的值(转换为 python)
- sql - SQL OrderBy,如何与关键字 AS 一起使用
- c++ - 如何在 C++ 中计算和存储 6 位或更高精度的双精度值?
- flutter - 如何在颤动/火焰的游戏中检测长按
- winforms - Winforms饼图标签文本被截断
- python - 如何使用matplotlib定义相对于轴的ylabel位置?
- android-source - AOSP 8.1 - 最小音量太高
- php - 如何使用 flex 安装一个较新的 symfony 软件包
- go - 接口和指针的Golang问题
- python - 如何绘制表示与 python matplotlib 的连接关系的图?