[UML] --- 类图

简介: [UML] --- 类图

1 类图简介

类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法

类图中的“类”与面向对象面向对象面向对象语言中的“类”的概念是对应的,它用来描述系统中的有意义的概念,包括具体的概念、抽象的概念、实现方面的概念等,是对现实世界中的事物的抽象。

类图是其它图的基础。我们可以在类图的基础上,使用状态图、协作图、组件图和配置图等。

类图的主要作用有:

(1)对系统的词汇进行建模

(2)对简单的协作进行建模

(3)对逻辑数据库模式进行建模

类图主要由类、接口和各种关系组成。

关系主要包括泛化关系、依赖关系、关联关系和实现关系。

2 类图基本图

先看一个基本的类图:

2.1 类

三个格子从上至下分别表示:

  • 类名称(如果是接口,就使用斜体表示)
  • 类的特性(一般是类的字段和属性,可以没有)
  • 类的操作(一般是类的方法或行为)

访问权限:

  • “+”表示public
  • “-”表示private
  • “#”表示protected

其他关键字:

  • 下划线表示static
  • 斜体表示abstract

冒号(:)

  • 表示成员变量类型
  • 表示方法返回值

等号 (=)

  • 表示默认值

方法的参数表示与类成员变量表示方法完全相同

2.2 接口

接口的两种表现方式:

  • 圆圈,比较直观,不方便表示接口内的方法
  • 名字上带有interface,方便表示接口方法

3 类之间的关系

3.1 泛化关系 (generalization)

[泛化关系] 泛化是继承关系的一种,子类继承父类的所有行为和属性,子类可以新增新的功能或者重写父类功能。

[箭头指向] 带三角箭头的实线,箭头指向父类

[代码表现] 最典型的就是extend

3.2 实现关系(realization)

[实现关系] 是一种类与接口的关系,表示类是接口所有特征和行为的实现。

[箭头指向] 带三角箭头的虚线,箭头指向接口或者是直线连接圆圈

[代码表现] 最典型的就是implements

3.3 关联关系 (association)

[关联关系] 是一种拥有的关系,它使一个类知道另一个类的属性和方法。它体现的两个类中一种强依赖关系,比如我和我的朋友,这种关系比依赖更强,不存在依赖关系中的偶然性,关系也不是临时的,一般是长期性的。

关联关系分为单向关联和双向关联:

单向关联表现为:类 A 当中使用了 类 B,其中类 B 是作为类 A 的成员变量。

双向关联表现为: 类 A 当中使用类 B 作为成员变量,同时类 B 中也使用了类 A 作为成员变量

[箭头指向] 带普通箭头的实心线,箭头指向被拥有者

[代码表现] 成员变量

3.4 聚合关系 (Aggregation)

[聚合关系] 聚合关系是关联关系的一种,耦合度强于关联。是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以单独存在。

[箭头指向] 带空心菱形的实心线,菱形指向整体

[代码表现] 成员变量

3.5 组合关系 (composition)

[组合关系] 整体与部分的关系,但部分不能离开整体而单独存在

[箭头指向] 带实心菱形的实心线,菱形指向整体

[代码表现] 成员变量

3.6 依赖关系 (dependency)

[依赖关系] 是一种使用的关系,即一个类的实现需要另一个类的协助,所以尽量不要使用双向的互助依赖。

[箭头指向] 带虚线的箭头

[代码表现] 最典型的就是import


相关文章
|
6月前
|
uml
UML之类图
UML之类图
96 1
|
6月前
|
数据可视化 Java uml
IDEA中一个被低估的功能,一键把项目代码绘制成UML类图
IDEA中一个被低估的功能,一键把项目代码绘制成UML类图
291 1
|
uml
IDEA使用插件绘制UML类图+PlantUML语法讲解
IDEA使用插件绘制UML类图+PlantUML语法讲解
794 0
|
3月前
|
Java uml
使用工厂方法模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程序实
该博客文章通过UML类图和Java代码示例,展示了如何使用工厂方法模式设计一个支持加法、减法、乘法和除法运算的计算机程序,并严格按照类图设计实现程序。
|
3月前
|
Java uml
1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
该博客文章展示了如何使用简单工厂模式设计一个程序,该程序能够根据用户输入的运算符(加、减、乘、除)对两个数进行计算,并提供了相应的UML类图和Java源码实现。
1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
|
5月前
|
应用服务中间件 uml
【UML】软件工程中常用图:类图、部署图、时序图、状态图
【UML】软件工程中常用图:类图、部署图、时序图、状态图
567 1
|
3月前
|
数据可视化 Java uml
精通UML:从类图到序列图的实战指南
【8月更文第23天】统一建模语言(Unified Modeling Language, UML)是一种用于软件工程的标准图形化语言,它提供了一套工具来帮助开发团队可视化、构造和文档化软件系统。在UML中,类图和序列图是最常用也是最重要的两种图。类图用于描述系统的静态结构,而序列图则用于表示对象之间的交互和系统的动态行为。
153 5
|
3月前
|
设计模式 uml
设计模式常用的UML图------类图
这篇文章介绍了UML中类图的基本概念和用途,详细解释了类与接口、类之间的关系,包括继承、实现、组合、聚合、关联和依赖等六种关系,并展示了它们在类图中的表示方法。
设计模式常用的UML图------类图
|
3月前
|
uml
UML 类图几种关系(依赖、关联、泛化、实现、聚合、组合)及其对应代码
UML 类图几种关系(依赖、关联、泛化、实现、聚合、组合)及其对应代码
311 0
|
6月前
|
设计模式 数据可视化 程序员
软件设计模式:UML类图
软件设计模式:UML类图
153 1