其中,聚合和組合都屬於關聯。
在具體編程中:
依賴表現為如果A類依賴於B,則B體現為A的局部變量,方法參數或靜態方法的調用。
eg:
class B{
Static void function1(){};
void function2(){};
}
public class A{
public static void main(String[] args){
....
B.function1();//A類中調用了B類的靜態方法
....
}
}
聚合和組合都屬於關聯,很難區分,但是只要記住壹點,區分它們就容易多了:
處於聚合關系的兩個類生命周期不同步,則是聚合關系;處於組合關系的兩個類的生命周期同步;
eg:
聚合關系,當A創建的時候,B不壹定創建;當A消亡時,B不壹定消亡。
class A{
private B;
}
class B{
....
}
組合關系,當創建壹個A對象時,也會創建壹個B對象;當A對象消亡時,作為A的屬性的B對象也會消亡。
class A{
private b=new B();
....
}
class B{
....
}