UML之类图
实现(Realization):
指的是一个类实现接口(可以是多个)的功能;实现是类与接口之间最常见的关系;
泛化(Generalization):
表现为继承或实现关系(is a)。具体形式为类与类之间的继承 关系,接口与接口之间的继承关系,类对接口的实现关系
依赖 (Dependency):
表现为函数中的参数(use a)。
是类与类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类。例如如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。常见的依赖关系如下:
- 类B以参数的形式传入类A的方法。
- 类B以局部变量的形式存在于类A的方法中。
- 类A调用类B的静态方法。
关联(Association):
表现为变量(has a )。
类与类之间的联接,它使一个类知道另一个类的属性和方法。例如如果A依赖于B,则B体现为A的成员变量。
关联关系有双向关联和单向关联。
双向关联:两个类都知道另一个类的公共属性和操作。
单向关联:只有一个类知道另外一个类的公共属性和操作。
大多数关联应该是单向的,单向关系更容易建立和维护,有助于寻找可服用的类。
聚合(Aggregat ion):
是关联关系的一种,是强的关联关系。聚合关系是整体和个体的关系。普通关联关系的两个类处于同一层次上,而聚合关系的两个类处于不同的层次,一个是整体,一个是部分。同时,是一种弱的“拥有”关系。此时整体与部分之间是可分离的,他们可以具有各自的生命周期, 部分可以属于多个整体对象,也可以为多个整体对象共享;
组合(Composition):
是关联关系的一种,是比聚合关系强的关联关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。Composition(组合关系)是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一致。他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;