一次讲清:UML类图中的六大关系

简介: 今天给大家分享UML图以及其中最重要的UML类图的几大关系,几分钟交会大家如何制作出UML类图。在UML的静态机制中类图是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。

3. UML


  • UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助开发人员进行思考和记录思路的结果。
  • UML本身是一套符号的规定,就像数学与化学符号,这些符号用来表示各个元素之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等。
  • UML可以画时序图、用例图、类图。


3.1 UML类图


  • 用于描述系统中的类(对象)本身的组成和类(对象)之间各种静态关系。
  • 类之间的关系:依赖、泛化(继承)、实现、关联、聚合与组合。


3.2 类图—依赖关系


  • 只要在类中用到对方,那么他们之间就存在依赖关系,如果没有对方,连编译都通过不了。

类中用到对方的地方:

  • 类的成员属性
  • 方法的返回类型
  • 方法接收的参数类型
  • 方法中使用到

依赖使用虚线箭头,箭头指向依赖者

微信截图_20220609221308.png

3.3 类图—泛化关系


  • 泛化关系实际上就是继承关系,他是依赖关系的特列。
  • 泛化就是继承关系。
  • 如果A继承了B,我们就说A和B存在泛化关系。

泛化使用实线空心箭头,箭头指向继承类

微信截图_20220609221333.png

3.4 类图—实现关系


  • 实现关系就是A类(实现类)实现了B类(接口),他就是依赖关系的特例。

实现关系使用虚线空心箭头,接口指向接口

微信截图_20220609221342.png

3.5 类图—关联关系


  • 关联关系实际上就是类与类之间的联系,他就是依赖关系的特例。
  • 关联具有导航性:即双向关联或单项关联
  • 关联具有多重性:一对多,一对一,多对一,多对多。

关联使用实线箭头(单向关联)或者实线没有箭头(双向关联),箭头指向被调用者

微信截图_20220609221420.png

可以通过上图看出,Person类中使用了IDCard类,但是IDCard类中没有使用到Person类,此时是单项一对一,并且存在箭头,这个箭头指向被调用的类。

而在第二个中,他们之间的类互相调用,所以此时是双向一对一关系,此时不存在箭头。


3.6 类图—聚合关系


  • 聚合关系表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例,所有它具有关联的导航性和多重性。

例如:一台计算机的键盘和显示器是可以从计算机中拆分出来的,使用带空心菱形的实线表示。(空心菱形从部分指向整体)

微信截图_20220609221432.png

聚合使用空心的菱形箭头,箭头指向调用者

微信截图_20220609221509.png

3.7 类图—组合关系


  • 组合也是整体与部分的关系,但是整体与部分不可以分开。(比如人与脑袋,就是组合关系)
  • 如果类中的成员变量不可以与整体类分离,就称为组合。比如上边的鼠标类如果不能与计算机分离,那么就是组合关系。(此时是new的对象,当Computer类加载时,鼠标类也会加载,当计算机类消失的时候,鼠标类也会随之消失,此时存在组合关系)

微信截图_20220609221537.png

  • 组合使用的是实体的菱形箭头表示,箭头指向调用者。

微信截图_20220609221549.png

区分组合与聚合:

  • 人的身体与人不可以拆分的,所以此时就是组合关系。
  • 人的身份证与人是可以拆分的,此时是聚合关系。

网络异常,图片无法展示
|

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