UML类图及六种关系
一、UML类图核心组成(Mermaid图形示例)
图形解析:
- 类名:顶部矩形(
用户
) - 属性:中部区域(
+用户名
为公有属性,-密码
为私有属性) - 方法:底部区域(
+登录()
为公有方法,#加密数据()
为受保护方法)
二、类图的六种核心关系
1. 泛化(继承关系)
- 定义:子类继承父类(如
SUV
继承汽车
) - Mermaid语法:
子类 --|> 父类
箭头说明:空心三角箭头 + 实线,指向父类
2. 实现(接口关系)
- 定义:类实现接口(如
微信支付
实现支付接口
) - Mermaid语法:
实现类 ..|> 接口
箭头说明:空心三角箭头 + 虚线,指向接口
3. 组合关系
- 定义:强整体-部分关系(如
公司
与部门
) - Mermaid语法:
整体 *-- 部分
箭头说明:实心菱形 + 实线,菱形指向整体
4. 聚合关系
- 定义:弱整体-部分关系(如
汽车
与轮胎
) - Mermaid语法:
整体 o-- 部分
箭头说明:空心菱形 + 实线,菱形指向整体
5. 关联关系
- 定义:长期稳定引用(如
老师
与学生
) - Mermaid语法:
类A --> 类B
箭头说明:实线箭头,可标注多重性(如1对30
)
6. 依赖关系
- 定义:临时性使用(如
用户服务
依赖日志工具
) - Mermaid语法:
依赖类 ..> 被依赖类
箭头说明:虚线箭头,指向被依赖类
三、综合案例:电商系统类图
关系说明:
- 用户与订单:关联(一对多)
- 订单与商品:组合(强包含)
- 订单与支付系统:依赖(临时调用)
四、总结
- 箭头规范:
- 实线箭头:强关系(泛化、组合、聚合、关联)
- 虚线箭头:弱关系(依赖、实现)
- 设计原则:优先使用低耦合关系(如依赖),避免双向强关联