类图 | UML (统一建模语言)

2025年03月24日 | 阅读 5 分钟

类图描绘了应用程序的静态视图。它表示系统中存在的对象类型以及它们之间的关系。一个类由它的对象组成,也可以从其他类继承。类图用于可视化、描述、记录系统的各种不同方面,以及构建可执行的软件代码。

它显示了属性、类、函数和关系,以提供软件系统的概览。它在单独的部分中构成类名、属性和函数,这有助于软件开发。由于它是类、接口、关联、协作和约束的集合,因此被称为结构图。

类图的目的

类图的主要目的是构建应用程序的静态视图。它是唯一被广泛用于构建的图,并且可以与面向对象的语言映射。它是最流行的 UML 图之一。以下是类图的目的:

  1. 分析和设计应用程序的静态视图。
  2. 描述系统的主要职责。
  3. 它是组件图和部署图的基础。
  4. 它包含正向和逆向工程。

类图的优点

  1. 它可以表示复杂系统的对象模型。
  2. 通过提供在编码之前应用程序如何构建的概览,减少了维护时间。
  3. 它提供了应用程序的通用示意图,以便更好地理解。
  4. 它通过突出显示所需的代码(将要编程的代码)来表示详细的图表。
  5. 它对利益相关者和开发人员都有帮助。

类图的重要组成部分

类图由三个部分组成

  • 上部: 上部包含类的名称。一个类是表示共享相同关系、属性、操作和语义的相似对象的表示。表示类时应考虑以下一些规则:
    1. 将类名的首字母大写。
    2. 将类名放在上部的中心。
    3. 类名必须以粗体格式书写。
    4. 抽象类的名称应以斜体格式书写。
  • 中部: 中部构成属性,它描述了类的质量。这些属性具有以下特征:
    1. 属性与其可见性因子(public (+),private (-),protected (#) 和 package (~))一起编写。
    2. 属性类的可访问性由可见性因子说明。
    3. 应该为属性分配一个有意义的名称,该名称将解释其在类中的用法。
  • 下部: 下部包含方法或操作。这些方法以列表的形式表示,其中每个方法都写在一行中。它演示了一个类如何与数据交互。
UML Class Diagram

关系

在 UML 中,关系有三种类型

  • 依赖关系: 依赖关系是两个或多个类之间的语义关系,其中一个类的更改会导致另一个类的更改。它形成较弱的关系。
    在以下示例中,Student_Name 依赖于 Student_Id。
UML Class Diagram
  • 泛化: 泛化是父类(超类)和子类(子类)之间的关系。在这种关系中,子类是从父类继承的。
    例如,活期帐户、储蓄帐户和信用卡帐户是银行帐户的广义形式。
UML Class Diagram
  • 关联: 它描述了两个或多个对象之间的静态或物理连接。它描述了关系中有多少个对象。
    例如,一个部门与学院相关联。
UML Class Diagram

多重性: 它定义了属性允许的实例的特定范围。如果未指定范围,则将一个视为默认多重性。

例如,多个患者被送往一家医院。

UML Class Diagram

聚合: 聚合是关联的子集,表示“拥有”关系。它比关联更具体。它定义了部分-整体或部分-关系。在这种关系中,子类可以独立于其父类而存在。

公司包含许多员工,即使一名员工辞职,公司仍然存在。

UML Class Diagram

组合: 组合是聚合的子集。它描述了父级及其子级之间的依赖关系,这意味着如果删除一个部分,则另一部分也会被丢弃。它表示整体-部分关系。

联系人簿包含多个联系人,如果删除联系人簿,所有联系人将丢失。

UML Class Diagram

抽象类

在抽象类中,没有对象可以是抽象类的直接实体。抽象类既不能声明也不能实例化。它用于查找跨类的功能。抽象类的表示法与类相似;唯一的区别是类名以斜体书写。由于它不涉及给定函数的任何实现,因此最好将抽象类与多个对象一起使用。

让我们假设我们有一个名为displacement的抽象类,其中声明了一个方法,该方法将被称为drive ()。现在,这个抽象类方法可以被任何对象实现,例如,汽车、自行车、踏板车、自行车等。

UML Class Diagram

如何绘制类图?

类图被最广泛地用于构建软件应用程序。它不仅代表了系统的静态视图,而且代表了应用程序的所有主要方面。类图的集合整体代表一个系统。

绘制类图时需要牢记的一些关键点如下

  1. 为了描述系统的完整方面,建议为类图指定一个有意义的名称。
  2. 应提前确认对象及其关系。
  3. 必须知道每个类的属性和方法(职责)。
  4. 应指定最少数量的所需属性,因为更多数量的不需要的属性将导致复杂的图表。
  5. 开发人员可以在需要时使用注释来描述图的各个方面。
  6. 应多次重绘和修改图表,以使其在生成最终版本之前正确。

类图示例

下面给出了描述销售订单系统的类图。

UML Class Diagram

类图的用法

类图用于表示系统的静态视图。它在组件图和部署图的建立中起着至关重要的作用。它有助于构建可执行代码,以对任何系统执行正向和逆向工程,或者我们可以说它主要用于构建。它表示与 C++、Java 等面向对象的语言的映射。类图可用于以下目的

  1. 描述系统的静态视图。
  2. 显示静态视图中每个实例之间的协作。
  3. 描述系统执行的功能。
  4. 使用面向对象的语言构造软件应用程序。

下一个主题UML 对象图