将关联,聚合和组合转换为java中的代码?

时间:2011-08-25 18:09:28

标签: java uml

我知道在java中转换关联,聚合和组合有不同的表达方式。但是当我们将它们转换为代码(java类)时,它们都以相同的方式表示。像老师教的那个协会将用具有班主任实例变量的学生班来代表。

部门教授的聚合也将由具有班级教授实例变量(数组)的系类代表。

大学有部门组成也将用具有班级实例变量(数组)的大学班来代表。

所以在代码方面都以相同的方式重新编写。那么关联,聚合和组合为开发人员带来了哪些好处?

1 个答案:

答案 0 :(得分:5)

你在撰写时错过了部分故事。它要求一些额外的属性:

  • 父母的不变性(即孩子不能转换父母)
  • 孩子的生命周期责任在于父母。即父母负责创建和删除子实例。父母去世后,孩子无法生活。

你是正确的,该关联将表现为儿童和女孩的参考/参考集合。父母分别。但是,如果要确保强制使用Composition语义,代码还必须强制执行上述规则。

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

第h