类间关系:依赖,关联,聚合,组合的学习小结

    在学习 OOP 的过程中,肯定会接触到类间关系这一概念,目前的我的认知是:类间关系就是两个大类关联和继承(不知道是否有偏差...)

    关联关系可以就依据耦合度的强弱划分为:依赖,关联,聚合,组合四种(耦合度依次增强)。耦合度简单的说的就是关系的紧密程度(类 A 改变对类 B 的影响程度),详情请自行谷歌

    四种关系的区别概述如下:

    1. 依赖关系(Dependency)比较好区分:主要的表现形式是局部变量,方法的参数,静态方法的调用。

       eg: 人有驾驶这个行为,可以定义 drive() 方法。传入的参数可以是自行车,摩托车,汽车等。可以定义类 Person,Bike,Car:实例化后,car 或 bike 传入 person.drive() 中。行为 drive 的实现依赖于 car 或 bike。但是不具体依赖于特定的对象。

    2. 关联,聚合,组合 都是通过类的成员变量的方式体现

    3. 同一层级的类的关系一般是关联关系

    4. 如果两个类是整体和个体(局部)的关系,那就是聚合(组合)关系

    5. 聚合包含组合关系(像长方形包含正方形一下)

    6. 聚合和组合的区别:对象能否脱离整体单独存在,可以就是聚合中的个体,不可以就是组合中的局部

        ‘单独存在’:也表明了对象的生存周期,组合关系中局部对象的生存周期依附于整体对象之上。即整体负责局部的生命周期

猜你喜欢

转载自blog.csdn.net/yzmumu/article/details/82827427