1. UML简介
-
UML:统一建模语言,是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果。
-
UML本身是一套符号的规定,就像数学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系。比如类、接口、实现、泛化、依赖、组合、聚合…
2. UML基本符号含义
2.1、类、抽象类、接口的表示
-
普通类:直接写类名,属性、方法。
-
抽象类:类名是斜体,属性,方法。
-
接口:在接口名上方加入<< interface >>,再写属性,方法。
2.2、方法与变量定义
-
变量:先写变量名(这里省略权限修饰符)再写数据类型,格式:Field : Type。
-
方法:先写方法名(省略权限修饰符),再写参数;参数遵循变量名:类型的规则,最后写方法的返回类型;格式:Function(参数1:类型,参数2:类型):方法返回类型
-
抽象方法:在基本方法的表示上变成斜体。
2.3、修饰饰符号
Java语言提供了四种修饰符:private、protected、public、default(默认)。
-
private修饰符:使用 ’ - '表示
-
public修饰符:使用 ’ + ’ 表示
-
protected修饰符:使用 ’ # ’ 表示
-
default(默认)修饰符:使用空表示,就是不写。
-
静态变量、方法表示:在变量、方法下面加入下划线。
3. UML类图关系表示
类与类(接口)之间的关系有6种:泛化(继承)、实现、关联、聚合、组合、依赖。
3.1、泛化关系(Generalization)
-
泛化关系:是一种继承关系,表示子类继承父类的所有特征和行为。
-
关系连线:空心三角、实现箭头指向父类。
3.2、实现关系(Realization)
-
实现关系:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
-
关系连线:空心三角、虚线箭头指向接口。
3.3、关联关系(Association)
-
关联关系:一种拥有关系,一个类是另一个类的成员属性;同时关联关系分为两种:单向关联关系、双向关联关系。
-
单向关联连线:普通箭头、实线指向成员类
- 双向关联连线:使用有两个箭头相互指着对方,或者没有箭头。
3.4、聚合关系(Aggregation)
-
聚合关系:是一种合成关系,这个合成需要区分二者是否能单独分离。例如电脑 与 鼠标、显示器。鼠标和显示器是能从电脑中分离出来的!聚合分为:单聚合、多聚合。
-
关系连线:使用空心菱形、实线;菱形端指向聚合方。
-
注意:**聚合关系主要的区分点就在于一个类创建时,内部成员属性类是否立即创建。**如果是立即创建就是组合关系(共生共灭),如果需要通过set方法传入就是聚合。
3.5、组合关系(Composition)
-
组合关系:是一种整体关系,二者谁也离不开谁;就像人的身体和头一样。
-
关系连线:实心菱形、实线;实心菱形指向组合方。
3.6、依赖关系(Dependency)
-
依赖关系:一种使用关系,即一个类的实现需要另一个类的协助。
-
关系连线:普通箭头、虚线,指向被使用者。