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

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

 

以上是关于面向对象——对继承关联聚合组合依赖的理解的主要内容,如果未能解决你的问题,请参考以下文章

面向对象之类与类的关系

java--依赖关联聚合和组合之间区别的理解

java--依赖关联聚合和组合之间区别的理解

UML类关系(依赖,关联,聚合,组合,泛化,实现)

02.UML类图

Java 面向对象程序设计思想