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
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{
}