目录
Unified Model Language(UML),统一建模语言。类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。
类表示
类图分3层。第一层表示类的名称,如果是抽象类,则用斜线表示;第二层是类的特性,通常表示字段或属性;第三层是类的操作,通常是方法或行为。注:第二层与第三层前面存在符号,“+”代表public,“-”代表private,“#”代表protected。
Person |
# name : String # age : int |
+ eat() : void |
类关系表示
- 关联(Association):一种拥有的关系,它使一个类知道另一个类的属性和方法。UML中,关联关系采用带普通箭头的实心线表示,指向被拥有者。双向的关联可以有两个箭头或者没有箭头,单向关联有一个箭头。
- 聚合(Aggregation):整体与部分的关系。成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。UML中,聚合关系采用带空心菱形的实心线表示,菱形指向整体,箭头指向部分。如:轮胎是汽车的组成部分,但是轮胎可以独立存在,因此,汽车和轮胎是聚合关系。
- 组合(Composition):整体与部分的关系,但部分不能离开整体而单独存在。UML中,组合关系用带实心菱形的实心线表示,菱形指向整体,箭头指向部分。如:头与嘴巴就是组合关系。
- 依赖(Dependency):使用关系。与管线关系不同的是,它是一种临时性的关系,通常在运行期间产生,并且随着运行时的变化,依赖关系也可能发生变化。依赖也有方向,双向依赖是一种非常糟糕的结构,应该杜绝产生。UML中,依赖关系用带箭头的虚线表示,箭头指向被使用者,由依赖的一方指向被依赖的一方。
- 泛化(Generalization):也就是继承关系。UML中,泛化关系用带空心三角形的直线来表示,三角形指向父类。
- 实现(Realization):类与接口的关系。UML中,实现关系用带空心三角形的虚线来表示,三角形指向接口。
说明
各种关系的强弱顺序:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖