一、类
一个类由三个格子组成,从上至下分别表示:
第一格:类名称(接口和抽象类,使用斜体)
第二格:类的属性(成员变量,可以没有)
第三格:类的操作(成员方法)
“+”表示public
“-”表示private
“#”表示protected
“_”下划线表示static
斜体表示抽象,抽象类使用斜体。
二、类之间的关系
(1)泛化(Generalization):带三角箭头的实线,箭头指向父类
子类和父类是is-A的关系,子类继承父类的功能。
(2)实现(Realization): 带三角箭头的虚线,箭头指向接口
一个类实现接口。
(3)组合(Composition):带实心菱形的实线,菱形指向整体
部分和整体是contains-A的关系,部分和整体的生命周期相同。
(4)聚合(Aggregation):带空心菱形的实线,菱形指向整体
部分和整体是has-A的关系,部分和整体生命周期不同。
(5)关联(Association): 带普通箭头的实线,箭头指向被拥有者
逻辑上有必然联系,老师和学生(老师教学生)
可以是单向,也可以是双向。
(6)依赖(Dependency):带普通箭头的虚线,箭头指向被拥有者
逻辑上没有必然联系,老师和水(老师喝水)
一般是单向。
从上到下 关系由强到弱。
实线:关系强
虚线:关系弱