gpt4 book ai didi

java - java中关联、聚合、组合转换成代码?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:28:46 26 4
gpt4 key购买 nike

我知道在 java 中关联转换、聚合和组合有不同的表示方式。但是当我们将它们转换成代码(java 类)时,它们都以相同的方式表示。就像老师教的学生一样,关联将用具有类(class)老师实例变量的学生类表示。

Department has professors 聚合也将用具有类教授实例变量(数组)的 Department 类表示。

大学有部门,其组成也将由具有类部门实例变量(数组)的大学类表示。

所以所有的代码都以相同的方式表示。那么 Association、Aggregation 和 Composition 术语为开发人员提供了哪些好处?

最佳答案

您错过了 Composition 故事的一部分。它要求几个额外的属性:

  • parent 的不变性(即 child 不能改变 parent )
  • child 的生命周期责任在于 parent 。即父级负责创建和删除子实例。 parent 去世后, child 无法继续生活。

您说得对,关联将分别在子项和父项中显示为引用/引用集合。但是,如果要确保强制执行组合语义,代码还必须强制执行上述规则。

至于聚合:我不使用它。语义过于松散,与直接关联相比没有任何优势。

嗯。

关于java - java中关联、聚合、组合转换成代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7195151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com