面向对象——对继承、关联、聚合、组合、依赖的理解


例子、理解不当之处,还请指正

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