快速读懂UML类图绘制规范

架构师或者项目经理可能经常需要绘制UML类图,但是很多人却绘制的很不规范,其实UML针对Java是有专业规范存在的,下面开始详解

一.类属性描述:

在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个NoticeAction类,它包含notice和noticeService这2个属性,以及saveNotice()等方法。

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

· + :表示public

· - :表示private

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

 

二.类与类之间关系描述:

1.单向关联关系

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

 

2.双向关联关系

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

 

3.自关联关系

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

 

4.聚合关系

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

 

5.组合关系

组合关系与聚合关系见得最大不同在于:这里的“部分”脱离了“整体”便不复存在,显然嘴是头的一部分且不能脱离了头而单独存在。在UML类图中,组合关系用一个带实心菱形和箭头的直线表示。

 

6.依赖关系

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

 

7.继承关系

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

 

8.实现关系

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

  • 12
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
UML类图是一种常用的软件设计工具,用于表示类的结构和关系。以下是一些常见的UML类图设计规范: 1. 类名:使用大驼峰命名法(PascalCase)命名类名,并尽量使用清晰、具有描述性的词汇来表示类的功能。 2. 属性:在类图中,属性以名称:类型的形式表示。属性名称使用小驼峰命名法(camelCase),并尽量避免使用简写或缩写,以增强可读性。 3. 方法:方法以名称(参数列表):返回类型的形式表示。方法名称同样使用小驼峰命名法,并尽量遵循动词加名词的命名规则,清晰地表达方法的功能。 4. 可见性:在UML类图中,属性和方法可以指定可见性,包括public(+)、private(-)、protected(#)和包级私有(~)。根据设计需求和访问控制原则,为属性和方法指定适当的可见性。 5. 关联关系:在类图中,关联关系通过连接两个类之间的线表示。可以使用无箭头线表示双向关联,箭头指向关联方表示单向关联。 6. 继承关系:继承关系使用带空心三角形的实线表示,箭头指向父类。子类继承了父类的属性和方法。 7. 实现关系:实现关系使用带空心三角形的虚线表示,箭头指向实现的接口。类需要实现接口中定义的所有方法。 8. 类之间的依赖关系:依赖关系使用带箭头的虚线表示,箭头指向被依赖的类。依赖关系表示一个类使用了另一个类作为方法参数、局部变量或返回类型。 9. 类图布局:根据设计需要,可以将相关联的类分组排布在一起,以增强可读性。 这些是常见的UML类图设计规范,具体的设计方式还需根据项目需求和团队约定进行调整。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菠萝-琪琪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值