目录
统一建模语言 / 标准建模语言
模型:对现实的一种简化
工具下载地址:https://staruml.io/download
一 类图及接口图的表达
1 类图
访问修饰符 访问范围
+ public 公共
# protected 跨包
~ (默认) 同包
- private 本类
带下划线的成员变量 | 方法 → 表示 静态 static
类名如果是斜体 → 表示抽象类 abstract
2 接口图
下图是2种表现方式,建议使用右面的那种
二 6种关系的表达
1 继承关系
[泛化关系] : 一种继承关系 extends
箭头指向: 带三角箭头的实线,箭头指向父类
2 接口与实现 关系
实现关系: implements
箭头指向: 带三角箭头的虚线,箭头指向接口 或者 直线连接圆圈
3 依赖关系
依赖关系: 一个类需要另一个类的协助 import
箭头指向:带普通箭头的虚线,指向被需要的
4 关联关系
关联关系: 一种拥有的关系
代码体现: 成员变量
箭头及指向:带普通箭头的实心线,指向被拥有者 (下图:学生拥有课程)
双向关联关系 就没有箭头,就是一条实线
5 聚合关系
聚合关系:整体与部分的关系,且部分可以离开整体而单独存在
代码体现 : 成员变量
箭头及指向: 带空心菱形的实心线,菱形指向整体
(注意: 空心菱形)
6 组合关系
组合关系: 是整体与部分的关系 , 但部分不能离开整体而单独存在
代码体现: 成员变量
箭头及指向:带实心菱形的实心线,菱形指向整体
(注意:实心菱形)
三 6种关系的举例应用
继承: 哺乳动物 和 鸟类 继承于 动物 (实线 三角箭头 )
接口与实现: 唐老鸭 会说话 | 会表演 ( 实线 圆圈 | 虚线 三角箭头 )
组合: 鸟类拥有翅膀 (实线 实心菱形)
聚合: 狼会形成 狼群 (实线 | 空心菱形)
关联: 狼 会吃羊,羊 也会躲避狼 (实线 普通箭头 | 实线 没有箭头)
依赖: 动物 要 喝水 (虚线 普通箭头)
类关系强弱对比:
泛化(继承) = 实现 > 组合 > 聚合 > 关联 > 依赖