类与类的关联、聚集和组合关系

来源:互联网 发布:淘宝怎么传宝贝视频 编辑:程序博客网 时间:2024/06/06 13:08

关联是一种常见的二元关系,描述两个类之间的活动。例如:学生和课程都可以看作是一个类,并且学生可以对应他所选的课程,课程可以对应上这门课的学生,这样的关系就成为关联。当然,一个类可以同时和多个类关联,但是一个关联只能对应两个类。

举一个例子,下面这两个类就是关联关系:

public class Student{private course[] courseList;public void addCourse(Course s) {...}}public class Course{private Student[] classList;public void addStudent(Student s) {...}}


聚集是关联的一种特殊形式,他代表了两个对象之间的归属关系。如果一个对象只归属于一个聚集对象,那么它和聚集对象之间的关系就称为组合。比如,一个学生有一个家庭地址,也就是说地址类要归属于学生类,所以地址类的一个对象和学生类的一个对象是一种聚集关系。但是一个地址未必只对应一个学生,所以他们不构成组合关系,但是一个学生有一个名字,一个名字又可以对应一个学生,那么学生类的一个对象和名字类的一个对象就构成了组合关系。

聚集不但可以存在于两个类之间,同样可以存在同一类的多个对象之间。比如说一个人可能有一个管理者,这两个对象也可以构成聚集关系。


聚集和关联关系就不用代码来举例了,因为这三种关系主要是在我们实际编码时帮助我们理清思路。

原创粉丝点击