设计模式中类之间的关系

一.依赖关系

在代码中一般是:某个类的方法通过局部变量,方法的参数,静态方法的调用来访问另外一个类中的的一些方法来完成自己当前方法的一些职责的这种情况就是依赖关系。

带箭头的虚线来表示,箭头所指的类是被依赖的类。

设计模式中类之间的关系

二.关联关系

在代码中一般是:将一个类的对象作为另外一个类的成员变量来实现关联关系。当然可以是双向的关联关系,也可以是单向的关联关系。

单向关联关系:用一个带箭头的实线表示.。

备注:箭头指向被关联的类

设计模式中类之间的关系

 

三.聚合关系

一般是:聚合是关联关系的一种,是一种强关联关系。是整体和部分之间的关系。在代码中也是一个类对象是另外一个类的成员变量,但是这个成员对象可以脱离这个整体对象而独立存在。比如学校和老师的关系,学校包含老师,但是学校停办了,老师依然村早。

用一个空心的菱形实线来表示,

注意箭头指向整体的类

设计模式中类之间的关系

四:组合关系

一般是:组合关系也是关联关系的一种,他和聚合关系类似,也是整体和部分的关系,即一个类对象是另外一个类的成员变量,但是他比聚合关系更加的强烈。聚合关系的成员变量离开整体的类可以独立存在,而在组合关系这里就不行,一旦整体对象不存在,部分对象不能脱离整体对象而存在。比如头和嘴。头没了,嘴也不存在了。

 

用一个实心的菱形和实线来表示组合关系。

注意箭头指向整体的类。

设计模式中类之间的关系

 

五.泛化关系

解释:泛化关系是对象关系耦合度最大的一种关系,表示一般与特殊的关系,是父类与子类之间的关系,是一种继承的关系。在代码中使用面向对象的继承关系来实现泛化的关系。

空心三角的实现表示,箭头指向父类。

设计模式中类之间的关系

 

六.实现关系

解释:实现关系是接口和实现类之间的关系。在这种关系中,类实现了接口,类中的操作实现了接口中所声明的所有的抽象操作。

空心的三角虚线表示

箭头指向接口

设计模式中类之间的关系