基本表示
如下图表示的就是一个类:
- Animal 是类名;
- 类名斜体表示是抽象类;
接口用这个表示:
类中有属性和方法,各占一行。
属性由 3 部分组成:
- 可见性;
- 属性名;
- 属性的类型;
其中可见性又分为 3 种:
public
;-
表示private
;#
表示protected
;
其实属性后面可以写很多内容,完整的如下:
代码语言:javascript复制[可见性]属性名[:类型][多重性和次序][初始值][特性]
泛化关系
泛化关系表示类与类,接口与接口之间的继承关系。
如下就是一个例子,猴子和狗都是动物。
这是 is a kind of
的关系。
实现关系
实现关系用在类与接口之间。
依赖关系
如果一个类的改动会导致另一个实体也发生改变,则称两个类之间为依赖关系。可以是成员变量、方法的参数或者对静态方法的调用。
- 一个类向另一个类发送消息;
- 一个类是另一个类的属性的类型;
- 一个类是另一个类的方法的参数或返回值;
关联关系
关联关系是一种拥有的关系,它使一个类知道另一个类的属性和方法,箭头指向被拥有者。
这个关系可以分为 3 种:
- 1 对 1;
- 1 对 多;
- 多 对 多;
双箭头的也可以直接省略箭头。
聚合关系
聚合关系是关联关系的一种,是整体和部分的关系,并且 部分可以离开整体而独立存在 。
菱形指向整体。
组合关系
他也是整体和部分的关系,但是 部分不能离开整体而单独存在。
箭头指向整体。
如下图一样,如果部门离开了公司,就没有存在的意义了。