首页 > 代码库 > 面向对象——对继承、关联、聚合、组合、依赖的理解
面向对象——对继承、关联、聚合、组合、依赖的理解
例子、理解不当之处,还请指正
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 继承(面向对象)
面向对象——对继承、关联、聚合、组合、依赖的理解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。