Java 类之间的关系
总述
类和类之间的关系,耦合度从高到低:
- is 。继承、实现
- has 。组合、聚合、关联
- use 。依赖。
要求是:高内聚、低耦合。
继承
Person 和 Man之间是继承关系。
实现
组合
public class Person {
// Person和Heart之间是组合
private Heart h;
public Person(){
h=new Heart();
}
}
特征是:要在构造方法中创建对象
聚合
public class Car {
//聚合
private Engine e;
public Car(Engine e){
this.e = e;
}
}
聚合的特点是:有这个属性,且要在构造方法中使用,但不是在构造方法中创建的。
注意和组合的差别:两者的创建时机不同,组合是在Person创建的时候,被创建的。聚合是可以在别的创建的。
关联
public class Person {
// Person 和Car之间是关联关系
private Car c;
public void setC(Car c){
this.c=c;
}
}
特点是:不是在构造方法中设置的。
依赖
public class Person {
// 使用-依赖
public void traval(Train t){
}
}
特点是:要在普通方法中使用。