面向對象——對繼承、關聯、聚合、組合、依賴的理解


例子、理解不當之處,還請指正

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 繼承(面向對象)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM