例子、理解不當之處,還請指正
1、繼承(泛化)
關系:a 繼承自b,a is b
就像圖中所畫,Benz,Audi,Lamborghini都繼承自Car,都有輪子(wheel),都可以前進,與停止。
Benz is a car.
Audi is a car.
Lamborghini is a car.
2、關聯
關系:a has b
3、聚合
關系:a has b
整體部分不負責局部對象的銷毀,二者的生命周期沒有關聯
4、組合
關系:a has b
整體部分負責局部對象的銷毀
5、依賴
關系:a use b
繼承體現的是類與類之間的縱向關系
其他四種體現的是類與類之間的橫向關系
耦合強弱:
依賴 < 關聯 < 聚合 < 組合
從語義上來看
繼承(A is B)
關聯、聚合、組合(A has B)
依賴(A use B)
當組合與依賴結合時,可以替代繼承
組合+依賴(基於對象) vs 繼承(面向對象)