UML详解(1):类的关系与如何绘制类图

article/2025/10/21 6:39:22

        作为一个程序员,我们经常会使用UML来绘制各种图,类图就是其中常用之一。对于初学者来讲,如何读懂类图可能是一件有些困惑的事情,这里通过逐步梳理,帮助你详细了解类的关系,以及以后如何绘制类图。

 

1.0 定义

        类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的接口以及它们之间的静态结构关系的一种静态模型。

        这里要注意四个关键字:类、接口、静态结构、关系,接下来我们来逐一讲解。

 

1.1 如何表示一个类

通过UML工具拖动一个表示“类”的图形,你发现有很多种,常用的是这一种:

类图模型

第一行,表示类的名字,如 Person;

第二行,表示类的属性,如 name:string = "",格式为属性名:类型 = 默认值,其中可以不包含默认值;

第三行,表示类的方法,如 sayHello(name),格式为方法名(参数列表):返回值,其中可以不含参数,无返回值。

注意,+-表示属性是公开的还是私有的(public 或 private),此外还有#表示保护(protect),static静态方法。

 

1.2 如何表示一个接口

当然,你可能发现还有一个只有两行的图形,什么时候拖它呢?当你要表达一个接口的时候,就可以用它了。

接口类

第一行,明确写上<<接口>>的标识,然后换行写下接口名;

第二行,表示接口需要实现的类方法。

 

1.3 类的其他表达

        除了以上两种之外,我们可能会在UML绘制里还能找到以下几种:简单类、多例类、活动类等,这些在类图中并不常用,一般如何一个类只有方法没有属性,则第二行空着即可。

注释的表示

此外,常见的还有一种对象,那就是上图表示的注释。

 

2.0 关系

        表示类的关系总共有6种,这6种又可以分为3类

        第一类,泛化。泛化表达了is a的关系模型,当A以某种形式是一个B的时候,就是这种关系,包含了有2种关系:继承实现

        第二类,关联。关联表达了has a的关系模型,当A拥有一个B的时候,就是这种关系,包含了有3种关系:聚合、组合、关联

        第三类,依赖。依赖表达了use a的关系模型,当A使用了一个B的时候,就是这种关系,包含了1种关系:依赖

 

2.1 继承关系

继承关系

继承使用一个实线+空心三角箭头,从子类指向父类即表示一个继承,如:

继承关系示例

鸟类继承自动物类。

 

2.2 实现关系

实现关系的表达

实现使用一个虚线+空心三角箭头,从实例指向接口即表示一个实现,这里可以看到,泛化关系(继承、实现都是空心三角箭头,指向实体是实线、指向虚有的接口则是虚线),实现的一个实例如:

实现的实例

大雁实现了飞翔接口。

 

2.3 聚合关系

聚合关系的表达

聚合使用一个实线+空心菱形箭头,从整体指向局部即表示一个聚合,注意,聚合关系只是将一些对象聚集在一起,但他们的关联是相对较弱的,也就是说,局部对象是可以脱离整体对象而单独存在的,如:

聚合的实例

这里大雁聚集在一起形成了雁群,但是离开了雁群的大雁依然可以存在。

 

2.4 组合关系

组合关系的表达

组合使用一个实线+实心菱形箭头,从整体指向局部即表示一个组合,组合又叫合成,顾名思义是有局部合起来才成为了一个整体,他们是密不可分的,他们是强关联关系,局部脱离了整体就不存在了,如:

组合的实例

这里翅膀是组成鸟的局部,翅膀不能脱离一个整体(鸟)而单独存活(超市里单独卖的鸡翅膀可不是这里的概念哦)。

 

2.5 关联关系

关联关系的表达

当一个关系明显是has a的拥有关系,但不是聚合也不是组合那样来描述整体与局部的时候,就应该考虑使用关联关系来描述,事实上,前两者都是(更加准确的)关联关系,关联使用一个实线箭头,从拥有者指向被拥有者。其实,你会发现,所有的关联关系都是实线箭头,只是聚合()用了一个空心菱形,而组合()用了一个实心菱形。这里的关联是可以双向的,关联关系的一个实例,如:

关联的实例

这里你可能会困惑,企鹅与气候为啥是拥有关系,但他们确实有关系,气候的变更影响了企鹅的生存,他们息息相关,所以,每个企鹅都关心一个气候(如果合适我就在这里生活)。你也可以这么理解,他们俩的关系,不能用其他的关系来描述,企鹅不是气候的实例,企鹅不能使用一个气候(依赖),反之亦然。

 

2.6 依赖关系

依赖关系的表达

依赖关系不同于关联关系,使用一个虚线箭头,从使用者指向被使用者,这里要注意“使用”的概念,表达了一个物体需要通过另一个物体来完成工作,但他们之间没有包含的关系,如:

依赖的实例

这里的动物,有一个新陈代谢的功能,要工作则必须有空气和水,因此构成了他们之间的依赖关系。特别的,这里的依赖不同于我们上面关联的概念,在企鹅与气候的关系中,企鹅的生存方式依赖于气候的变化,但他们不是依赖关系,因为企鹅不需要气候作为参数进行某项工作,如果企鹅有一个功能是迁徙,需要传入一个气候,此时就是依赖关系了。

 

2.7 总结

        这里通过不同的符号可以表达出不同的关系来,可以按照这种方式来记忆:继承实现三角,二者皆实是实线。关联关系实箭头,依赖关系虚箭头聚合组合菱形,强弱判断实空心。

        最后,附加上一个完整的类图实例,有助于理解各种关系。

类图实例

 


http://chatgpt.dhexx.cn/article/M5ACEvtC.shtml

相关文章

保姆级教程--类图怎么画

类图怎么画 类与类之间的关系 类和类之间存在着六种关系 由弱到强分别是 依赖<关联<聚合<组合<实现继承 相对应的 每一种类的关系在类图里面都有一种画法来表示 首先是依赖 这是一种什么关系呢 就好像人使用用计算机一样 在人这个类里面用到了计算机 那么 我们就…

[UML] 类图介绍 —— 程序员(灵魂画手)必备画图技能之一

统一建模语言(Unified Modeling Language&#xff0c;UML) 可分类成&#xff1a; 功能模型&#xff1a;从用户的角度展示系统的功能&#xff0c;包括用例图。对象模型&#xff1a;采用对象&#xff0c;属性&#xff0c;操作&#xff0c;关联等概念展示系统的结构和基础&#…

【OS学习笔记】七 Bochs的下载、安装和配置

参考&#xff1a;《X86汇编语言-从实模式到保护模式》-李忠。纯学习笔记&#xff0c;更详细内容请阅读正版书籍。 1 开源的BOCHS虚拟机软件 Bochs是开源软件。它用软件来模拟处理器取指令和执行指令的过程&#xff0c;以及整个计算机硬件。当它开始运行时&#xff0c;就直接模…

emulator教程 lbochs pc_bochs模拟器怎么用?bochs模拟器安装使用教程

bochs模拟器怎么用呢?你是否还在xp系统停止服务而惋惜呢?那就来系统天堂看看bochs模拟器安装使用教程吧。bochs模拟器能够把xp系统装进手机或者平板电脑哦;具体bochs模拟器怎么用我们一起来学习一下。 我们先来了解一下bochs是什么&#xff1a; Bochs是一个x86硬件平台的开源…

bochs core教程linux,ubuntu14.04中安装配置bochs详解(二)

这里面又很有用的东西。。 上一篇主要说安装的事情&#xff0c;安装成工的标志就是在命令行中有bochs这个程序&#xff0c;来张图片&#xff1a; 有这个界面的话就说明安装成功了。。。 接下来要干的事就是制作软盘和配置了&#xff0c;如果配置不成功的话&#xff0c;选6进去以…

bochs的安装和配置

参考书籍&#xff1a;《操作系统 真象还原》 书上使用的是bochs-2.6.2.tar.gz。是2013的版本&#xff0c;老旧老旧了&#xff0c;我不使用。 我的系统是Ubuntu18.04。 这篇文章的安装教程并不能正常运行。&#xff08;只能清楚的熟悉配置文件位置信息等&#xff09; 对于我而言…

bochs2.7安装

Bochs安装 谨以此篇博客记录长达一个星期之久的bochs安装之旅 实测Ubuntu18.04及Ubuntu20.04均可通过自带软件仓库顺利安装并使用&#xff0c;安装指令&#xff0c;远离折腾烦恼 sudo apt-get install bochs bochs-x问题 选用系统&#xff1a;debian11 debian11自带软件仓库…

Windows10下安装使用Bochs-2.6.11

1 环境说明 1.1 下载安装Bochs-2.6.11&#xff1a; 官网&#xff1a;http://bochs.sourceforge.net/ 。 下载&#xff1a;https://sourceforge.net/projects/bochs/files/bochs/ 。 1.2 安装centos7 使用centos7来编译汇编程序。 安装nasm&#xff1a; yum -y install nas…

安卓bochs安装linux教程,Ubuntu 14.04 LTS 安装和配置Bochs

系统是:Ubuntu 14.04 LTS 64位 安装的是:bochs-2.6.8 Bochs 需要在 X11 环境下运行&#xff0c;因此你的 Linux 系统必须已经安装了X Window 系统才能使用Bochs。 因为 Bochs 是用C写的&#xff0c;所以这里要安装GNU gcc/g编译器。 安装命令如下&#xff1a; sudo apt-get ins…

安卓bochs安装linux教程,Ubuntu环境下安装Bochs

首先说一下我的Ubuntu版本&#xff0c;敲命令 sudo lsb_release -a 就可以看到 No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.3 LTS Release: 14.04 Codename: trusty 所以&#xff0c;我的Ubuntu版本是14.04 也可以用 cat /etc/issue 查看…

bochs运行xp_bochs模拟器xp系统镜像安装教程及注意事项

bochs模拟器xp系统镜像安装教程前面系统天堂小编已经为你详细介绍了&#xff0c;下面系统天堂小编就给你带来bochs模拟器xp系统镜像安装教程及一些注意事项&#xff0c;希望你能喜欢。 bochs模拟器xp系统镜像安装教程&#xff1a; ps&#xff1a;有两个xp镜像&#xff0c;一个是…

bochs简单使用

1、安装 指令安装 sudo apt-get install vgabios bochs bochs-x bximage 源码安装&#xff0c;如果不需要调试功能configure后不用加选项&#xff0c;源码包下载地址 tar vxzf bochs-xxx.tar.gzcd bochs-xxx./configure --enable-debugger --enable-disasmmakemake install 2、…

Bochs下载安装

文章目录 下载Bochs配置Bochs Bochs Bochs是一个x86硬件平台的开源模拟器。它可以模拟各种硬件的配置。Bochs模拟的是整个PC平台&#xff0c;包括I/O设备、内存和BIOS。更为有趣的是&#xff0c;甚至可以不使用PC硬件来运行Bochs。事实上&#xff0c;它可以在任何编译运行Boch…

使用Bochs写Hello world

Day 1&#xff1a;配置Bochs以及调试模式 一 环境预备 Bochs的安装很简单&#xff0c;我们只需要去官网下载即可。http://bochs.sourceforge.net/ 为了使用Linux命令行&#xff0c;我们可以安装WSL&#xff0c;也可以安装Cygwin&#xff08;我的选用&#xff09; 安装NASM。…

Bochs编程环境安装

Bochs编程环境安装 写在前面 为了更好的记录自己学习过程以及踩过的坑&#xff0c;记录一下《操作系统真相还原》的编程环境安装。 安装过程参考了CSDN的这篇博客&#xff1a;安装Vmware Station 安装Ubuntu 装载配置Bochs 1. 本地安装环境 本机系统&#xff1a;win10 64位专…

Bochs安装

近期&#xff0c;准备跟着《一个64位操作系统的设计与实现》干点正事儿。第一步就是安装bochs。书里写得太简略&#xff0c;网上太杂&#xff0c;我自己记录一下自己安装的流程&#xff0c;希望对看到的人有帮助。 sudo apt-get install build-essential sudo apt-get install…

bochs基础使用

bochs 1、安装 sudo apt-get install bochssudo apt-get install bochs-x2、编写文件 vim boot.asmorg 07c00h ; 告诉编译器程序加载到 7c00处 mov ax, cs mov ds, ax mov es, ax call DispStr ; 调用显示字符串例程 jmp $ ; 无限循环 Dis…

Bochs简易教程

Bochs是个啥&#xff1f; 简单来说bochs是一个模拟器&#xff0c;能够完整的模拟一台计算机。详细来讲bochs是X86硬件平台的开源模拟器&#xff0c;完全可以通过软件来给我们提供各种所需的硬件资源。 和bochs类似的虚拟机软件还有我们常用的VMware、Virtuabox&#xff0c;但…

虚拟机上安装bochs的过程(保姆级别)

整个过程&#xff1a;&#xff08;全程开启root权限&#xff1a;1.打开终端&#xff1b;2.输入&#xff1a;su&#xff1b;3输入密码&#xff09; 1.在虚拟机上有bochs安装包&#xff1b; curl -O https://nchc.dl.sourceforge.net/project/bochs/bochs/2.6.9/bochs-2.6.9.ta…

Windows下Bochs的简单使用

Bochs的安装 安装Bochs后&#xff0c;安装目录如下&#xff1a; 可以用到的东西分为两大类&#xff1a; 应用程序 先说一下bochs.exe、以及bochdbg.exe前者直接运行虚拟机&#xff0c;后者可以从头开始调试。 然后就是bximage.exe&#xff0c;这是一个专门用于生成软盘或者…