聚合和组合之间的代码差异

时间:2015-06-23 07:27:45

标签: java design-patterns aggregation composition

任何人都可以提供代码示例来显示聚合和组合之间的区别。我已经Read This并且没有理解它们在代码中的区别。

请通过代码显示差异。

1 个答案:

答案 0 :(得分:0)

组合与聚合之间的主要区别在于组合是 1对1 关系,聚合 1对多。 要明确:一个班级只有一个教授,因此它是一个作文关系,一个班级可以有多个学生,所以它是一个聚合。

要将其转换为实际代码,Class-object(学校班级中的类)可以有一个学生列表,只有一个教授字段。这表明该课程与学生之间存在 1对多的关系,但与教授的关系 1-on-1

例如在代码中:

public class SchoolClass
{
    Professor mProfessor;
    List<Student> mStudents;
}