urlname
type
Post
password
SyncToConfluence
category
学习笔记
date
Oct 24, 2025
slug
f6b4c512-5138-4ee4-a383-e23120a68f12
icon
Button
catalog
summary
tags
UML
软件工程
学习笔记
专业能力
编程基础
cover
Status
BusyTime
Status 1
status
Published

UML类图的作用与意义

定义

UML 类图(Class Diagram) 描述系统中各个“类(Class)”之间的静态结构关系
它回答的问题是:
“系统有哪些类?类之间是怎么联系的?”
在 Java 项目中,你可以把 UML 类图理解为:
代码结构的蓝图(Blueprint)

类的基本组成

一个类在 UML 中通常包含 3 个部分:
区域
内容
Java 对应
顶部
类名
class 名称
中部
属性(Attributes)
成员变量
底部
操作(Operations)
成员方法

🧩 示例:一个简单的 Java 类

对应的 UML(Mermaid语法)
📘 说明:
  • + 公有 (public)
  • - 私有 (private)
  • # 受保护 (protected)
  • ~ 包可见 (default)

类与类之间的关系

UML 类图的核心就是——关系
我们重点掌握 5 种常见关系(按强度由弱到强排列):
类型
含义
UML符号
Java对应示例
依赖(Dependency)
A 使用了 B
虚线箭头 →
方法参数、局部变量
关联(Association)
A 拥有 B 引用
实线箭头 →
成员变量
聚合(Aggregation)
A 包含 B(弱关系)
空心菱形 →
“整体–部分”但可独立存在
组合(Composition)
A 包含 B(强关系)
实心菱形 →
“整体–部分”生命周期绑定
泛化(Generalization)
A 继承 B
空心三角箭头 ↑
继承关系 extends

1️⃣ 依赖(Dependency)

OrderService 依赖 Product
依赖是一种临时使用关系

2️⃣ 关联(Association)

客户有一个地址对象(成员变量)。

3️⃣ 聚合(Aggregation)

部门“聚合”多个员工,但员工可以独立存在。

4️⃣ 组合(Composition)

房子包含房间,房子消失 → 房间也消失。

5️⃣ 泛化(Generalization / Inheritance)

接口与实现


实际应用:购物系统简化模型

📘 对应逻辑:
  • Customer 下单 → places
  • 一个 Order 拥有多个 OrderItem(组合)
  • OrderItem 引用 Product(关联)

实战技巧与总结

目的
UML关系
Java层面体现
临时使用对象
依赖
方法参数
持有引用
关联
成员变量
部分独立存在
聚合
List<Employee>
部分生命周期绑定
组合
new 出来的成员
抽象/继承
泛化
extends / implements
 
UML笔记——类图中的多重性开发记录:批注截图耗时分析
Loading...