耦合由弱到强分别是:依赖、关联、聚合、组合、继承。
1依赖关系
若类A是类B的局部变量,或其中某个方法的参数或返回值,则A与B就是依赖关系。A类中用到了B类
2关联
(是依赖关系的一种特例)对象之间一种引用关系,比如客户类与订单类之间的关系。这种关系通常使用类的属性表达。关联可以有方向,即导航。一般不作说明的时候,导航是双向的,不需要在线上标出箭头。
2.1 聚合
简单来说,就是has-a。而聚合就是电脑和显示屏的关系,显示屏是电脑的一部分有主从关系,但是关联是平行关系。(A是B的一个属性)
2.2 组合
组合就相当于人和手的关系(手离开了人,就失去了原来的作用),是比聚合更加强大的一种关联关系(A是B的成员变量)。
3 继承(Generalization)
又称为泛化,is-a 的关系
类与类的继承关系,类与接口的实现关系。
场景:父与子、动物与人、植物与树