当前位置: 首页 > 图灵资讯 > 技术篇> 五分钟读懂UML类图

五分钟读懂UML类图

来源:图灵教育
时间:2023-04-12 09:19:12

通常阅读一些远程分析文章或设计应用程序架构来处理UML类图。事实上,UML类图中最常用的元素可以在五分钟内掌握。让我们快速了解它:

一、表达类属性的方式

在UML类图中,类使用包括类名和属性(field) 和方法(method) 并用分割线的矩形表示,如下图所示的Employe类,它包含name、age和email三个属性,以及modifyinfo()方法。

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

·+ :表示public

·- :表示private

·#:表示protected(friendly也属于这类)

因此,上图中的Employee类有三种私有属性和一种公共方法。

事实上,属性的完整表达是这样的:

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

中括号中的内容是可选的

二、二。类别方法的表达

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

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

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

例如,在下图的Demo类中,定义了三种方法:

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

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

·method3分别接收inttivate方法、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接口。

在这里,我们介绍了UML类图中最常见的表达方式。有了这些,我们就可以读懂常见的UML类图,剩下的就可以查了。

三、参考资料

http://www.uml.org.cn/oobject/201211231.asp