• 我的订阅
  • 科技

如何绘制「UML类图」?附内容详解和优质实例分析!

类别:科技 发布时间:2023-10-26 18:02:00 来源:人人都是产品经理

下面这篇文章是笔者整理分析的关于如何绘制「UML类图」的相关内容,大家一起来看看吧!

如何绘制「UML类图」?附内容详解和优质实例分析!

UML图有很多种,但是并非必须掌握所有的UML图,才能完整系统分析和设计工作。一般说来,在UML图中,只要掌握类图、用例图、时序图的使用,就能完成大部分的工作。也就是说,掌握UML的20%,就能做80%的事情。

对于程序员来说,最频繁使用的莫过于类图。因此,这里我们只讲解UML类图。至于其它UML图,请在以后的工作中参阅更多UML学习资料继续学习。

类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。类图中最基本的元素是类、接口。软件设计师设计出类图后,程序员就可以用代码实现类图中包含的内容。

一、UML类图简介

类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法。类图用来描述系统中有意义的概念,包括具体的概念、抽象的概念、实现方面的概念等,是对现实世界中事物的抽象。

类图的主要作用是对系统的词汇进行建模、对简单的协作进行建模和对逻辑数据库模式进行建模。

二、类图基本属性

类图概括起来主要由两部分组成:类和类之间的关系,其中对类的定义如下图所示,主要由三部分组成,它们分别是类名、类的属性、类的方法,对应图中的三个分区内容。

如何绘制「UML类图」?附内容详解和优质实例分析!

类名:图中最上面的矩形框中为类名。如果字体为斜体,表示为抽象类类的属性:类名下方的区域类的方法:图中的下面部分

*符号解释

说明:属性和方法前面的“+”“-”和“#”表示访问级别,以下对这些符号进行解释说明。+:public,公用的,对所有类可见-:private,私有的,只对该类本身可用#:protected,受保护的,对该类的子孙可见~:package,包的,只对同一包声明的其他类可见=:表示默认值下划线:static斜体:抽象 (注意也可以用两个尖括号包裹来表示抽象,比如 —— <>)

冒号前是方法名/变量名(根据有无括号区分),冒号后是返回参数/变量类型(根据有无括号区分),如果没有冒号的话表示方法返回空(也有人通过:void表示返空)

三、类图中具体类、抽象、接口和包的表示法

UML类图中具体类、抽象类、接口和包有不同的表示方法。

1. 在UML类图中表示具体类

具体类在类图中用矩形框表示,矩形框分为三层:第一层是类名字。第二层是类的成员变量。第三层是类的方法。

成员变量以及方法前的访问修饰符用符号来表示:“+”表示 public;“-”表示 private;“#”表示 protected;不带符号表示 default。2. 在UML类图中表示抽象类

抽象类在UML类图中同样用矩形框表示,但是抽象类的类名以及抽象方法的名字都用斜体字表示。

如何绘制「UML类图」?附内容详解和优质实例分析!

3. 在UML类图中表示接口

接口在类图中也是用矩形框表示,但是与类的表示法不同的是,接口在类图中的第一层顶端用构造型 <>表示,下面是接口的名字,第二层是方法。此外,接口还有另一种表示法,俗称棒棒糖表示法,就是类上面的一根棒棒糖(圆圈+实线)。圆圈旁为接口名称,接口方法在实现类中出现。

4. 在UML类图中表示包

类和接口一般都出现在包中,UML类图中包的表示形式。

四、类之间的关系

类之间的关系主要包括泛化(继承)、依赖、关联、聚合、组合和实现6种关系,下面对它们进行一一阐释。

如何绘制「UML类图」?附内容详解和优质实例分析!

1. 泛化关系

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

表示方法:空心三角+实线,箭头指向父类

如何绘制「UML类图」?附内容详解和优质实例分析!

2. 依赖关系

依赖关系表示一个类使用(依赖)另一个类的服务或信息。当一个类的改变会影响到另一个类时,两个类之间存在依赖关系。一般来说,依赖总是单向的,不应该存在双向依赖。

表示方法:尖括号+虚线

如何绘制「UML类图」?附内容详解和优质实例分析!

3. 关联关系

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

关联关系分为单向关联或双向关联,也可以有多重性(一对多),双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

表示方法:尖括号+实线,箭头指向被拥有者

如何绘制「UML类图」?附内容详解和优质实例分析!

4. 聚合关系

聚合关系是关联关系的一种,表示一种“弱”的“拥有”关系,是整体与部分的关系,且部分可以离开整体而单独存在,如车和轮胎是整体和部分的关系,轮胎离开车仍然可以单独存在。

表示方法:空心菱形+实线,菱形指向整体

如何绘制「UML类图」?附内容详解和优质实例分析!

5. 组合关系

组合关系也是关联关系的一种,是比聚合关系还要强的关系,是整体与个体的关系,但个体不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

表示方法:实心菱形+实线

如何绘制「UML类图」?附内容详解和优质实例分析!

6. 实现关系

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

表示方法:空心三角+虚线

如何绘制「UML类图」?附内容详解和优质实例分析!

五、类图案例分析

为了帮助大家更好的理解类之间的6种关系,下面使用例子辅助大家学习和消化吸收。

汽车类图

如何绘制「UML类图」?附内容详解和优质实例分析!

汽车类图说明:车与小汽车和自行车之间是「实现」】关系,使用带空心箭头的虚线表示。小汽车与SUV之间的关系为泛化关系,使用带空心箭头的实线表示。小汽车与发动机和轮胎之间是「组合」】关系,使用实心菱形箭头的实线表示。学生上学需要用到自行车,与自行车是一种「依赖」】关系,使用带箭头的虚线表示。学生与班级之间是「聚合」】关系,使用带空心菱形箭头的实线表示。学生与身份证之间为「关联」】关系,使用尖箭头的实线表示。

如果你能快速的看懂并理解以上案例,说明你基本上已经把类图弄懂了,再去多结合一些代码和对应的类图巩固一下,以后再看到类图就不会懵了。

六、如何绘制类图?

ProcessOn支持多种图形的绘制,当然也包括UML图啦,用ProcessOn绘制类图的方法很简单,只要掌握了类图绘制的知识点,研究明白了类图案例,相信每个人都可以快速学会画类图。Step1:注册登录ProcessOn,新建UML图形。Step2:在左侧工具栏中选择类的标志,拖拽到右侧编辑区,写上类名、属性和方法。Step3:根据类之间的关系,标注箭头和线。

如何绘制「UML类图」?附内容详解和优质实例分析!

注:ProcessOn每个图标之间的连线默认都是实线箭头,大家根据需要可以在上方工具栏中调整连线样式、连线类型、连线颜色、箭头方向和箭头样式等。如果你想让自己的图更美观一些,可以把文本、图标、线条等填充不同颜色、相同的图标尽可能大小相同。

本文由 @观察月亮的小白羊 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Unsplash,基于CC0协议。返回搜狐,查看更多

责任编辑:

以上内容为资讯信息快照,由td.fyun.cc爬虫进行采集并收录,本站未对信息做任何修改,信息内容不代表本站立场。

快照生成时间:2023-10-26 21:45:05

本站信息快照查询为非营利公共服务,如有侵权请联系我们进行删除。

信息原文地址:

高情商的人在说话时,会善于运用实例来佐证自己的观点
...的观点。二、举例佐证高情商的人在说话时,会善于运用实例来佐证自己的观点,从而提高说服力。比如,当他们要说明团队合作的重要性时,会引用一些成功的团队合作案例,让听众更容易理解和
2023-09-22 10:11:00
车船号作等号多条件计数的复杂实例
今天作者来讲一个关于多条件计数的复杂实例场景,我们先配合下面这张图来介绍一下任务需求。下图是两个工作表的组合图,上面是总数据表表1,下面是要填充公式结果的表2,题干是这样的:计算
2023-02-23 11:50:00
新书推荐 | Ubuntu Linux操作系统实战教程(微课视频版)
...令2.4.4zip压缩和unzip解压命令2.4.5rar压缩和解压命令2.5综合实例一: zip加密压缩以及Python破解2
2022-12-18 11:02:00
...要性,从而激发学生学习地理的兴趣。多媒体演示,多举实例。多媒体展示本身就具有很强的视觉刺激效果,再加上展示手段的多样性与高效性,加之生活实例的渗透,很容易为学生创设一种开放的
2023-11-22 01:09:00
开年领跑乘云智胜 华为云开年采购季携Flexus X实例:解锁智能迁移与热变配能力最佳实践
...制等。在这样的背景下,“华为云开年采购季”中Flexus X实例备受瞩目。它以其卓越的性能和灵活的配置管理,成为企业云迁移的理想选择。Flexus X实例不仅提供了强大的计算
2025-03-05 12:47:00
Ubuntu Linux操作系统基础 | 教学大纲
...命令3、 用户组管理命令4、 用户和组的运行维护5、 综合实例:使用john软件破解系统用户密码(三)本章重难点重点:掌握用户管理命令、用户组管理命令的使用方法。难点:理解用
2022-12-19 09:02:00
...,包括金融行业、制造业和零售业等。此外,本文还通过实例分析,详细说明了数据分析和决策支持系统在某企业中的应用。最后,本文总结了数据分析和决策支持系统的优势和局限性,并提出了进
2023-08-26 05:00:00
...性。本文笔者结合自己多年的教学实践,对应用运用生活实例开展启发式教学,提高学生学习思想政治的综合能力谈一些浅显的看法。一、启发式教学是提高教学质量的需要,也是培养创新型高素质
2024-03-15 09:54:00
用视频引导人们改善贪小便宜的心理
...影响,让观众认识到改善贪小便宜心理的重要性。3.提供实例和案例分析:在视频中提供具体的实例和案例分析,展示贪小便宜的行为及其后果。可以通过讲述实例或展示案例中的故事情节、人物
2023-10-30 02:48:00
更多关于科技的资讯:
三联家电章丘世茂店盛大开业:抢抓“春日经济”,助力市民“焕新家”
鲁网3月13日讯春风送暖,万象更新。在这生机盎然的春日里,三联家电章丘世茂店于3月13日盛大开业。正值“春日经济”消费热潮
2026-03-13 17:40:00
一场对话 “对”出了什么?
鲁网3月13日讯“我们依托 AI 工具实现了内容快速生产,但算力成本高、高端人才缺,政策层面有什么支持?”“有支持的,我们推出了‘算力券’政策
2026-03-13 18:14:00
新华保险河北分公司以高品质服务守护千家万户
近年来,新华保险河北分公司持续推动服务升级,以高品质服务守护千家万户。在今年3·15国际消费者权益日到来之际,新华保险河北分公司党委书记
2026-03-13 20:25:00
中新经纬3月13日电 据国家金融监管总局13日消息,近日,针对互联网助贷业务问题,金融监管总局对分期乐、奇富借条、你我贷借款
2026-03-13 21:29:00
马嘉良 河北公安警察职业学院摘要:自动驾驶技术的演进对传统静态交通管理体系提出了适应性变革要求,为保障混合交通流的安全与效率
2026-03-13 21:36:00
邹宇摘要:随着电子商务平台和移动互联网的发展,消费者在网络环境中的行为逐渐被记录并形成大规模数据资源,为利用统计方法研究消费者购买行为提供了新的数据集
2026-03-13 21:36:00
行业唯一控轴专利!海尔发布中科桌面大路灯Z5 Max,定义护眼新标杆
当前,消费者愈发重视用眼健康,尤其是青少年用眼问题,带动了护眼灯消费。京东去年1-8月数据显示,“护眼灯”类目搜索同比增长42%
2026-03-13 21:49:00
第4届国际文创新品及潮玩(上海)展览会开幕 AI玩具成新风口
3月12日,第4届国际文创新品及潮玩(上海)展览会、第13届上海国际IP授权产业博览会在上海新国际博览中心开幕。本届展会为期3天
2026-03-13 22:19:00
2026年英语口语练习APP推荐!星空外语帮你攻克雅思口语,畅享英语自由!
在雅思考试里,口语是许多考生感到头疼的科目。要在口语部分取得高分并非易事,它要求考生具备扎实的语言基础、流利的表达能力和灵活的应变思维
2026-03-13 21:52:00
海尔AI智能锁Q600Pro斩获AWE艾普兰“创新奖”
3月12日,2026年中国家电及消费电子博览会(AWE2026)在上海启幕,全球最夯的智能家电与智慧生活解决方案悉数亮相
2026-03-13 21:48:00
中国网3月13日讯电 据市场监管总局网站消息,近日,市场监管总局印发《关于强化广告中提示性用语监管工作的通知》(以下简称《通知》)
2026-03-13 19:05:00
近日,国家药监局批准了博睿康医疗科技(上海)有限公司植入式脑机接口手部运动功能代偿系统创新产品注册申请,实现脑机接口医疗器械全球首发上市
2026-03-13 19:45:00
3月12日,在2026年中国家电及消费电子博览会(AWE)上,矿业智能化成为展会关注的焦点之一。一家名为“深脉控股”的企业展示了其通过人工智能技术介入矿产资源勘探与开发的全链条解决方案
2026-03-13 19:46:00
京东自营家装全新亮相 用AI把智能化“好房子”带给更多家庭
3月13日,京东全新发布AI智慧家装品牌——京东家装,通过自营模式入场重新定义家装新标准,并以 AI及超级供应链能力驱动家装行业智能化与标准化升级
2026-03-13 19:46:00
从智能出行到智能家电,探路生态携智能空间全栈产品矩阵亮相AWE
AWE2026上,全球智能空间科技品牌探路首次以覆盖三维立体出行、户外移动空间、生活智能家电与智能空间系统四大方向的全生态阵容亮相
2026-03-13 14:21:00