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

2018-06-17 22:05:18来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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

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

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:C/C++ 进程通讯(命名管道)

下一篇:Headmaster&#39;s Headache UVA - 10817