UML类图

article/2025/10/21 2:49:04

一、类的属性的表示方式

在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name,age和email这3个属性,以及modifyInfo()方法。

 

那么属性/方法名称前加的加号和减号是什么意思呢?它们表示了这个属性或方法的可见性,UML类图中表示可见性的符号有三种:

+ :表示public

- :表示private

# :表示protected(friendly也归入这类)

因此,上图中的Employee类具有3个私有属性和一个公有方法。

实际上,属性的完整表示方式是这样的:

可见性 名称 :类型 [ = 缺省值]

中括号中的内容表示是可选的

二、类的方法的表示方式

上图中我们已经看到了方法的表示形式。实际上,方法的完整表示方式如下:

可见性 名称(参数列表) [ : 返回类型]

同样,中括号中的内容是可选的。

比如在下图的Demo类中,定义了3个方法:

· public方法method1接收一个类型为Object的参数,返回值类型为void

· protected方法method2无参数,返回值类型为String

· private方法method3接收类型分别为int、int[]的参数,返回值类型为int

三、类与类之间关系的表示方式

1、关联关系

关联关系又可进一步分为单向关联、双向关联和自关联。

(1)单向关联

 我们可以看到,在UML类图中单向关联用一个带箭头的直线表示。上图表示每个顾客都有一个地址,这通过让Customer类持有一个类型为Address的成员变量类实现。

(2)双向关联

 从上图中我们很容易看出,所谓的双向关联就是双方各自持有对方类型的成员变量。在UML类图中,双向关联用一个不带箭头的直线表示。上图中在Customer类中维护一个Product[]数组,表示一个顾客购买了那些产品;在Product类中维护一个Customer类型的成员变量表示这个产品被哪个顾客所购买。

(3)自关联

自关联在UML类图中用一个带有箭头且指向自身的直线表示。上图的意思就是Node类包含类型为Node的成员变量,也就是“自己包含自己”。

2、聚合关系

上图中的Car类与Engine类就是聚合关系(Car类中包含一个Engine类型的成员变量)。由上图我们可以看到,UML中聚合关系用带空心菱形和箭头的直线表示。聚合关系强调是“整体”包含“部分”,但是“部分”可以脱离“整体”而单独存在。比如上图中汽车包含了发动机,而发动机脱离了汽车也能单独存在。

3、组合关系

组合关系与聚合关系见得最大不同在于:这里的“部分”脱离了“整体”便不复存在。比如下图:

 显然,嘴是头的一部分且不能脱离了头而单独存在。在UML类图中,组合关系用一个带实心菱形和箭头的直线表示。

4、依赖关系

 从上图我们可以看到,Driver的drive方法只有传入了一个Car对象才能发挥作用,因此我们说Driver类依赖于Car类。在UML类图中,依赖关系用一条带有箭头的虚线表示。

5、继承关系

继承关系对应的是extend关键字,在UML类图中用带空心三角形的直线表示,如下图所示中,Student类与Teacher类继承了Person类。

 

6、接口实现关系

这种关系对应implement关键字,在UML类图中用带空心三角形的虚线表示。如下图中,Car类与Ship类都实现了Vehicle接口。

 


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

相关文章

EA enterprise architect 画类图

准备工作 新建文件,参考画用例图的新建文件 画类图 以此为例 画类 工具箱,选中calss->class拖拽到左侧,填写类名 右键点击创建的类,选择功能与属性。属性类似于变量,功能类似于函数。为类添加属性和功能。 …

使用PlantUml插件画类图

一、PlantUml简介二、类与类之间关系汇总整理三、PlantUml类图语法介绍四、类图五、类图 PlantUml 代码 本文介绍如何使用 PlantUml 插件来画 Uml 图 一、PlantUml简介 PlantUML 是一个可以快速编写各种图表的工具,可以通过安装 Intellij Idea 或者 Vs Code 插件来…

UML类图画法全程解析

本节向大家介绍一下UML类图画法,主要包括UML类图元素和关系画法,希望通过本文的介绍,你对UML类图画法有一定的认识。 软件设计起步:UML类图画法 学习设计模式,画UML类图是基础,通过UML类图,能…

使用StarUML画类图

原文链接:http://www.flyne.org/article/379 staruml比rational rose小多了,觉得也很实用,似乎免费 1、综述(What) StarUML是一种生成类图和其他类型的UML图表的工具。本文是一个使用StarUML创建类图(Java语言描述)的简…

IDEA画UML类图

第一步(IDEA下载画图插件) PlantUML Integration 插件可以支持画图 第二步(创建类图文件) 点击之后会让选择 选择class即可 类图的语法 在画类图的时候分为五种 1. 依赖 依赖分为好多种, 作为成员变量,作为方法的入参和出参,在类中使用…

C++ 类图 Astah画类图

类图 基本概念: 类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。 类图的3个基本组件: 类…

画java类图_java UML类图的使用

类图 是用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。学习好类图的绘制,是一位合格的软件工程师应有的技能。 1.类的UML图示 在UML中,类使用包含类名,属性和方法且带有…

【系统架构】类图的画图规范

最后一弹&#xff0c;放在了类图上面&#xff0c;这也是需要引起注意的最重要的地方。 格式 接口 抽象类 类 注意&#xff1a; 1、接口一定有 <> 的标识&#xff0c;接口中的方法必须斜体&#xff08;默认都是抽象方法&#xff09; 2、抽象类名和抽象方法必须斜体…

java怎么画类图_UML类图基本画法

类 简要画法 类有三个单元格的矩形(看上图中的动物类) 第一格:类名称(如果是抽象类,名称标注为斜体字) 第二格:类属性名称 第三格:类操作名称 类属性或者操作的访问修改符的标注: public用加号标注 private用减号标注 protected用#号标注 接口 简要画法 接口有两个单元格的…

如何画UML类图

简单介绍 统一建模语言&#xff08;Unified Modeling Language&#xff0c;UML&#xff09;是用来设计软件蓝图的可视化建模语言&#xff0c;面向对象的建模语言的国际标准。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。 类、接口、类图 类 类&#…

visio uml 画java类图_用visio画UML类图

对于画类图的工具很多&#xff0c;曾经学过用starUML画类图&#xff0c;但这个是用于Java语言的&#xff0c;对于用vs编程C语言&#xff0c;个人感觉用visio会好一点。以下用以前面的俄罗斯方块游戏中的一个Block类为例来讲述 class Block { public: Block(void); void Init();…

【系统架构】类图怎么画

文章目录 类图是什么&#xff1f;类图组成元素类图六大关系强弱关系&#xff1a;依赖<关联<聚合<组合<实现<继承 类图是什么&#xff1f; 类图中包含从用户的客观世界模型中抽象出来的类、类的内部结构和类与类之间的关系。它是构建其他设计模型的基础&#xf…

PowerDesigner 画类图

PowerDesigner 画类图&#xff1a; 目录 1&#xff0c;建立class的Model 2&#xff0c;UML基础 类 接口&#xff1a; 关系 1, 泛化 generalization 用空心三角形实线来表示 2, 实现 Realization用空心三角形 虚线 来表示 3, 关联 Association用实线箭头来表示   …

EA画类图

EA画类图 演示所使用软件版本&#xff1a; 1 准备工作 1.1 新建工程 新建工程时取个工程名字然后确定&#xff0c; 之后会进入这个界面&#xff0c;选择Class&#xff0c;并确定&#xff1a; 展开Model&#xff0c;再展开Class Model&#xff0c;点击下方Class Model&…

php类图怎么画,类图怎么画?

类图怎么画&#xff1f; 步骤&#xff1a; 1、打开visio画图软件&#xff0c;在左边的导航中选择“软件”选项&#xff0c;在右边会有很多图&#xff0c;我们会看到UML图&#xff0c;点击选择进入。 2、我们会进入画图的界面&#xff0c;在上面导航区有个百分比的选项&#xff…

StarUML画类图

一. 前言 工作中&#xff0c;在写文档总结时&#xff0c;需要画类图&#xff0c;有助于理清楚类之间的调用关系和内部组成, Ubuntu下推荐使用StarUML 来画, 如果不知道这个工具&#xff0c;请参考笔者这篇文章下载安装&#xff1a; Ubuntu StarUML安装教程 当然StarUML这个…

类图到底该如何画

什么是类图&#xff1f; 要学习如何画类图的话那么我们首先要明确一下什么是类图&#xff1f; 顾名思义&#xff0c;类图是显示了模型的静态结构&#xff0c;特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要…

通俗易懂教你画类图

1. 类图 1.1类的内容 第一层&#xff1a;类的名称&#xff0c;如果是抽象类&#xff0c;则就用斜体显示。 第二层&#xff1a;字段和属性。 第三层&#xff1a;方法。 前面的符号&#xff1a; “” 表示public&#xff1b;"-“ 表示private&#xff1b;"#"…

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

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

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

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