UML类图
2018-05-07 本文已影响0人
涵仔睡觉
image
以上样例基本包含了UML类图的基本图示法。
-
类--三层矩形框
类图分三层,第一层显示类名,若是抽象类,则用斜体显示;第二层是类的特性,通常就是字段和属性;第三层是类的操作,通常是方法或行为。前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected。
image -
接口--二层矩形框或棒棒糖表示法
-
二层矩形框
第一层顶端有<<interface>>显示,第一层是接口名称,第二层是接口方法。
image
interface IFly {
void Fly();
}
- 棒棒糖表示法
interface ILanguage {
void Speak();
}
- 继承--空心三角形+实线
-
实现接口--空心三角形+虚线
image -
关联(包含,has-a关系)--实线箭头
image
class Penguin : Bird { // Penguin类知道Climate类,用关联
private Climate climate; // 包含,has-a
}
- 聚合--空心菱形+实线箭头
聚合表示一种弱的拥有关系,体现的是对象A可以包含对象B,但对象B不是对象A的一部分。
image
class WideGooseAggregate {
private WideGoose[] arrayWideGoose; // 数组对象
}
- 合成(组合)--实心菱形+实线箭头
合成是一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。
连线两端各有一个数字,称为基数,表明这一端的类可以有几个实例,若有无数个实例则用n表示。
image
class Bird { // 类Bird与类Wing生命周期相同,是整体与部分的关系,用合成
private Wing wing;
public Bird() {
wing = new Wing();
}
}
-
依赖--虚箭头
image
abstract class Animal {
public Metabolism(Oxygen oxygen, Water water) {
... ...
}
}