UML 类图功能学习
类图(class diagram)用来表示系统中的类和类与类之间的关系,它是对系统静态结构的描述。
类用来表示系统中需要处理的事物。类与类之间有多种连接方式,比如:关联(彼此的连接)、依赖(一个类使用另一个类)、通用化(一个类是另一个类的特殊化)或打包(多个类聚合成一个基本元素)。类与类的这些关系都体现在类图的内部结构之中,通过类的属性和操作这些术语反应出来。在系统的生命周期中,类图所描述的静态结构在任何情况下都是有效的。
UML类图中常见关系:泛化、实现、组合、聚合、关联、依赖。
泛化 generalization
实现关系:泛化为一种继承关系、表示一般与特殊的关系、指定来子类如何特化父类的特征和行为。
箭头指向:用带三角形箭头的实线,箭头指向父类。


实现 realization
实现关系:是一种类与接口的关系、表示类是接口所有特征和行为的实现。
箭头指向:带三角箭头的虚线,箭头指向接口

依赖 dependency
依赖关系:是一种使用关系,即一个类的实现需要另一个类的协助。
代码体现:局部变量、方法的参数、静态方法的调用。
箭头指向:箭头的虚线 指向被使用者

关联 association
关联关系: 是一种拥有关系,它使一个类知道另一个类的属性和方法。
代码体现: 成员变量。
箭头指向: 带普通箭头的实心线,指向拥有者。

聚合 aggregation
聚合关系:整体与部分的关系,且部分可以离开整体而单独存在。
代码体现:成员变量

组合 composition
组合关系: 整体与部分的关系,但是部分不能离开整体而单独存在。比聚合关系更强,负责部分的生命周期。
代码体现:成员变量
类用来表示系统中需要处理的事物。类与类之间有多种连接方式,比如:关联(彼此的连接)、依赖(一个类使用另一个类)、通用化(一个类是另一个类的特殊化)或打包(多个类聚合成一个基本元素)。类与类的这些关系都体现在类图的内部结构之中,通过类的属性和操作这些术语反应出来。在系统的生命周期中,类图所描述的静态结构在任何情况下都是有效的。
UML类图中常见关系:泛化、实现、组合、聚合、关联、依赖。
泛化 generalization
实现关系:泛化为一种继承关系、表示一般与特殊的关系、指定来子类如何特化父类的特征和行为。
箭头指向:用带三角形箭头的实线,箭头指向父类。
实现 realization
实现关系:是一种类与接口的关系、表示类是接口所有特征和行为的实现。
箭头指向:带三角箭头的虚线,箭头指向接口
依赖 dependency
依赖关系:是一种使用关系,即一个类的实现需要另一个类的协助。
代码体现:局部变量、方法的参数、静态方法的调用。
箭头指向:箭头的虚线 指向被使用者
关联 association
关联关系: 是一种拥有关系,它使一个类知道另一个类的属性和方法。
代码体现: 成员变量。
箭头指向: 带普通箭头的实心线,指向拥有者。
聚合 aggregation
聚合关系:整体与部分的关系,且部分可以离开整体而单独存在。
代码体现:成员变量
组合 composition
组合关系: 整体与部分的关系,但是部分不能离开整体而单独存在。比聚合关系更强,负责部分的生命周期。
代码体现:成员变量
箭头指向:带实心菱形的实线,菱形指向整体
各种关系的强弱顺序:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖