面向对象——对继承关联聚合组合依赖的理解
Posted 曾经时光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象——对继承关联聚合组合依赖的理解相关的知识,希望对你有一定的参考价值。
例子、理解不当之处,还请指正
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 继承(面向对象)
以上是关于面向对象——对继承关联聚合组合依赖的理解的主要内容,如果未能解决你的问题,请参考以下文章