统一建模语言(UML) 是一种强大的可视化软件系统的工具。UML 中的两种关键图表是类图 和对象图。尽管它们看起来相似,但在软件设计和分析中各自发挥着不同的作用。
本教程将:
- 解释类图 和对象图.
- 提供现实世界中的示例每个示例。
- 展示它们在系统建模中如何相互补充。
1. UML 类图:系统的蓝图
什么是类图?
一个类图是静态系统结构的静态表示。它定义了:
- 类(对象的模板)
- 属性(类的属性)
- 方法(类的功能)
- 关系 (关联、继承、依赖)
何时使用类图?
- 设计软件架构。
- 记录系统结构。
- 指导开发人员进行实现。
示例:大学系统的类图
说明:
- 学生, 课程,以及教授是类。
- 每个类都有属性(例如,
学号,姓名). - 每个类都有方法(例如,
注册(),授课()).
2. UML对象图:运行时对象的快照
什么是对象图?
一个 对象图是系统在某一特定时刻的动态表示。它展示了:
- 对象(类的实例)
- 属性值(对象的当前状态)
- 链接(对象之间的关系)
何时使用对象图?
- 调试运行时问题。
- 使用真实数据验证类图。
- 展示特定的系统场景。
示例:一个“大学系统”的对象图
说明:
- :学生, :课程,以及:教授是对象(类的实例)。
- 每个对象都有当前属性值(例如,
学生ID = 101). - 链接显示关系(例如,Alice注册了“面向对象编程”课程)。
3. 类与对象图之间的主要区别
| 特性 | 类图 | 对象图 |
|---|---|---|
| 目的 | 定义系统结构 | 展示运行时对象状态 |
| 抽象 | 抽象(蓝图) | 具体(快照) |
| 用途 | 系统设计 | 调试、验证 |
| 符号表示 | 类、属性、方法 | 对象、属性值、链接 |
4. 它们如何协同工作
- 类图定义结构。
- 对象图用实际数据实例化该结构。
示例:
- 一个类图定义了一个
汽车类,包含属性(型号,年份). - 一个 对象图 显示一个特定的
汽车对象(型号 = "特斯拉",年份 = 2023).
5. 实践练习
任务:建模一个“图书馆系统”
-
创建一个类图 包含:
书籍(属性:标题,作者,ISBN)成员(属性:成员ID,姓名)图书馆(方法:borrowBook(),returnBook())
-
创建对象图 显示:
- 一个
图书对象(书名 = "UML指南",作者 = "约翰·多") - 一个
会员对象(会员编号 = 1,姓名 = "爱丽丝") - 一条显示爱丽丝借阅“UML指南”的链接
- 一个
结论
- 类图 = 蓝图 (静态结构)。
- 对象图 = 快照 (运行时状态)。
- 同时使用两者以设计、验证和调试系统以提高效率。