Skip to content

UML 类图

UML(统一建模语言,Unified Modeling Language)类图是用于定义、可视化和文档化系统中的类及它们之间的关系的一种工具。它是面向对象设计中最常用的图表之一,有助于理解系统的结构。下面是一些关于如何创建和解读 UML 类图的基本概念和指南。

UML 类图的基本元素

  1. 类(Class)

    • 一个矩形框,通常分为三部分:类名、属性和方法。
    • 类名:位于顶部,表示类的名称。
    • 属性:位于中部,列出类的成员变量,格式为 可见性 变量名: 类型
    • 方法:位于底部,列出类的方法,格式为 可见性 方法名(参数): 返回类型
    • 可见性标记包括:+ 公有(public)、# 保护(protected)、- 私有(private)。
  2. 接口(Interface)

    • 表示一种特殊的类,它只包含方法声明而不包含实现。
    • 在 UML 中,接口通常用带有关键字«interface»的类来表示,或者使用圆形图标表示。
  3. 关系(Relationships)

    • 关联(Association):两个类之间的一种关系,可以是单向或双向的。关联关系可以通过箭头指向目标类,并且可以在边上标明角色名和多重性(如 0..1, 1, 0..*等)。

    • 聚合(Aggregation):一种特殊类型的关联,表示整体与部分的关系,但部分可以独立于整体存在。用空心菱形表示,连接到整体的一端。

    • 组合(Composition):比聚合更强的关系,表示整体拥有部分,且部分不能脱离整体单独存在。用实心菱形表示,同样连接到整体的一端。

    • 继承(Generalization):表示一般化关系,即子类继承自父类。用带空心三角形箭头的直线表示,从子类指向父类。

    • 实现(Realization):当一个类实现了一个接口时使用。用带空心三角形箭头的虚线表示,从实现类指向接口。

  4. 依赖(Dependency):表示一个类对另一个类的短暂使用。这种关系较弱,通常用虚线箭头表示,并在箭头上标注原因或上下文。

示例

假设我们有一个简单的图书馆管理系统,包含Book类、Member类和Library类,以及一个名为Borrowable的接口。

plaintext
+------------------+          +------------------+
|     «interface»  |          |    Library       |
|    Borrowable    |<>--------|                  |
+------------------+          +------------------+
        ^                           |
        |                           |
        |                           |
+------------------+          +------------------+
|      Book        |          |    Member        |
+------------------+          +------------------+

在这个例子中:

  • Book实现了Borrowable接口。
  • LibraryBookMember有某种形式的关联,这可能意味着Library管理着这些书籍和会员。

每个类的具体内容可能如下所示:

plaintext
+------------------+
|      Book        |
+------------------+
| -title: String   |
| -author: String  |
+------------------+
| +borrow(): void  |
| +return(): void  |
+------------------+

通过这种方式,UML 类图不仅展示了各个类的内部结构,还清晰地表达了它们之间的相互关系,这对于设计和理解复杂的软件系统非常有用。

Released under the MIT License.