總述
類和類之間的關系,耦合度從高到低:
- 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){
}
}
特點是:要在普通方法中使用。



