概述
1、实现(Realization)
表示类是接口所有特征和行为的实现。
【表示】UML图中实现常常用一条带有空心三角箭头的虚线指向接口如下:
2、泛化(Generalization)
是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。
【表示】一个带三角的箭头的实线,箭头指向父类。
3、依赖(Dependency)
是一种使用关系,即一个类的实现需要另以一个类的协助,所以尽量不使用类的双向依赖。表现为函数中的参数,是类与类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另一个类。例如A依赖于B,则B体现为局部变量,方法的参数、静态方法的调用。
形式:
类B以参数的形式传入类A的方法中。
类B以局部变量的形式存在于类A的方法中。
类A调用类B的静态方法。
【表示】在UML图中实现使用一条带有箭头的虚线表示。箭头指向被使用者,如下:
4、关联:(Association)
表现为变量,类与类之间的联接,它使一个类知道另一个类的属性和方法。普通关联关系使类处于同一层次上。
关联分为:
单向关联:只有一个类知道另一个类的公共属性和操作;
双向关联:两个类都知道另一个类的公共属性和操作。
大多数关联应该是单向的,单向的关联更容易建立和维护。
【表示】图中关联用一条实线来联接两个类。
4.1聚合:
是关联关系的一种,较弱的关联关系。聚合关系是整体和个体的关系。使类处于不同的层次关系上。一个是整体一个是部分。同时,是一种弱的“拥有关系”。聚合关系中,整体和部分是独立存在的,各自有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;
【表示】带空心菱形的实心线,菱形指向整体。
4.2组合:
也是关联关系的一种,比聚合关系强的一种关联关系。整体和部分不可分开,整体的生命周期结束就代表着部分的生命周期结束。
【表示】带实心的菱形的实心线,菱形指向整体。
总结
各种关系的强弱:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
若安好,便是晴!