码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-08-12 12:44:30      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:bsp   四种   png   img   有关   面向对象   指正   技术分享   http   

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

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 继承(面向对象)

 

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

标签:bsp   四种   png   img   有关   面向对象   指正   技术分享   http   

原文地址:http://www.cnblogs.com/chinxi/p/7349768.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!