3.7 类之间的关系
3.7.1 泛化关系
类和类之间的继承关系及接口与接口之间的继承关系。
3.7.2 实现关系
类对接口的实现。
3.7.3 关联关系
类与类之间的连接,一个类可以知道另一个类的属性和方法,在java 语言中使用成员变量体现。
Me
public class Me{ String name; //Field
//在当前类中含有其他类的引用。 //在当前对象中含有指向其他对象的引用。 //朋友 Friend f; //Me和Friend就是关联关系
Me(Friend f){ this.f = f; } } |
Friend
public class Friend{ //Field String name; String addr; String tel; Friend(String addr){ this.addr = addr; } } |
Test
public class Test{ public static void main(String[] args){ Friend f = new Friend("北京朝阳");
//建立关联关系 Me m = new Me(f);
//通过m可以获取朋友的住址 System.out.println(m.f.addr); } } |
3.7.4 聚合关系
是关联关系的一种,是较强的关联关系,是整体和部分的关系,如:汽车和轮胎,它与关联关系不同,关联关系的类处在同一个层次上,而聚合关系的类处在不平等的层次上,一个代表整体,一个代表部分,在java 语言中使用实例变量体现。
Classroom
//ClassRoom就是整体 public class ClassRoom{ //ClassRoom和List集合属于关联关系.在同一个层级上. //ClassRoom和Student属于聚合关系,一个是整体,一个是部分. List<Student> stus; //Student就是部分.
//聚合关系:整体不依赖部分,部分也不会依赖整体。 //整体无法决定部分的生命周期。 } |
Student
public class Student{ } |
3.7.4 合成关系
是关联关系的一种,比聚合关系强的关联关系,如:人和四肢,整体对象决定部分对象的生命周期,部分对象每一时刻只与一个对象发生合成关系,在java 语言中使用实例变量体现。
人
public class 人{
//人和List是关联关系. //人和四肢是合成关系,人是整体,四肢是部分. //合成关系和聚合关系是相似的,区别的地方在:整体和部分是紧密相连的 //整体的生命周期决定部分的生命周期。 List<四肢> s; } |
四肢
public class 四肢{ } |
3.7.5 依赖关系
依赖关系是比关联关系弱的关系,在java 语言中体现为返回值,参数,局部变量和静态方法调用。
Test
public class Test{ public void m1(){
//局部变量 User u = new User(); //依赖关系. }
} |
User |
class User{ } |