1.类中的类图分三层,第一层显示类名,如果是抽象类,则用斜体,第二层为类的属性,第三层为类的方法,注意前面的符号,“+”表示public “-”表示private,”#”为protected
2.接口图:第一层是接口的名称,第二层是接口的方法
3.继承关系(inherit):
【箭头指向】:带三角箭头的实线,箭头指向父类
4.实现接口关联(Realization):是一种拥有的关系,它使一个类知道另一个类的属性和方法;
【箭头指向】:带三角箭头的虚线,箭头指向接口
5.聚合(Aggregation):是整体与部分的关系,且部分可以离开整体而单独存在,每只大雁都是属于一个雁群,一个雁群可以有多个大雁,这种是聚合关系,
【代码体现】:成员变量
【箭头及指向】:带空心菱形的实心线,菱形指向整体
6.合成,组合(Composition):是一种强的拥有关系,体现了严格的部分和整体的关系,但部分不能离开整体而单独存在
带实心菱形的实线,菱形指向整体
class Brid {
var wing:Wing?
func myBrid()->Brid {
wing = Wing();
return self;
}
}
class Wing {
}
7.依赖关系(Dependency):是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.
【代码表现】:局部变量、方法的参数或者对静态方法的调用
【箭头及指向】:带箭头的虚线,指向被使用者
class Animal {
internal func Metablios (ox:Oxygen,water:Water) {
}
}
class Oxygen {
}
class Water {
}
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
下面这张UML图,比较形象地展示了各种类图关系: