UML类图详解:系统设计的核心秘密
  hHMeGhEdRyHA 2023年12月09日 77 0

前言

UML类图看和画其实很简单,看懂就更简单了:第一,简单了解一下UML类图是干什么用的; 第二了解一UML类图的主要描述对象是什么; 第三,UML类图描述的对象之间有哪些关系;最后,了解一下,这些关系怎么用图形化的符号来描述它。

什么是UML类图?

类是具有相似结构,属性和行为的一组对象的统一描述,UML类图就是用一系列如箭头,实线,虚线等图形符号来描述类之间关系的图形。行话说,一图胜千言,在实际业务设计开发过程中,清晰的UML类图可以快速让我们搞清楚类之间的关系,也方便于沟通交流。

类图的主要描述对象

通常情况下,类图描述的主体是对象是类和接口。类是具有相同属性和行为的对象的抽象,接口则抽象描述了一系列行为。

类有三部分组成,第一部分,是类名; 第二部分是类的属性; 第三部分是类的行为;其中的“+”,”-“,”#“号用于表述类的属性或行为的可见性,”+“表示public级别,”-“表示private级别,”#“表示protected级别,省略表示与同package可见。如果类只抽象到了发生或行为的一种,绘制的时候可以省略相应的部分。 image.png

接口

接口有两部分组成,第一部分,是接口的名称,第二部分是接口的行为。 image.png

类之间有哪些关系

类之间的常见关系有以下几种:继承,实现,聚合,组合,依赖,关联。

继承

继承关系比较好理解,子类继承父类,子类就拥有了父类的属性和行为。

实现

实现是指类与接口的关系,一些特定行为可以抽象为一个接口,一个类通过实现这个接口,就拥有了这个接口对应的行为。如奔跑是一个行为,受到威胁时奔跑,进行捕猎时奔跑,都是奔跑,所以可以抽象为一个奔跑的接口。

聚合

聚合关系表示两个对象之间整体与局部的关系,如拥有与被拥有或者是包含与被包含,但是这种关系相对来说弱一些,如狼群与狼的关系就是聚合关系,狼群里会有很多的狼,某一头狼则属于狼群,但是这种属于并不是强约束的关系,即按常理来说狼是群居动物,一头狼肯定归属于一个狼群,个别情况下也会有孤狼产生,所以这就是所谓的拥有与被拥有的关系比较弱。

组合

组合关系与聚合关系比较类似,也是描述两个对象之间拥有与被拥有或者是包含与被包含,这种整体与局的关系,但是这种关系非常强烈,如果狼与牙齿就是组合关系,一头狼肯定是有一口锋利的牙齿的,这种整体与局部的关系非常强烈,属于强约束,所以就是组合关系。

依赖

依赖关系描述的是对象之间需要与被需要的关系,如狼想要生存下去,需要空气,水,食物,狼与空气,水,食物的关系就是依赖关系。

关联

关联关系与依赖关系比类似,可以对比着理解,也是描述对象之间的需要与被需要的关系,只是这种关系的相对弱一些,如狼与森林的关系,狼必须得生活在森林吗,草原好像也可以,但是没有水,空气,食物肯定活不了,所以狼与空气的关系可以理解为依赖关系,狼与森林的关系可以理解为关联关系。

总结

先要看懂UML类图,要先理解类图描述了类之间的哪几种关系,要想牢固掌握,可以把这六种关系分成三组,对比着理解记忆,继承与实现,聚合与组合,关联与依赖。那么UML是用什么图形化符号来描述这些关系呢?

UML类图的图形化

继承与实现 空心三角+实线表示继承关系 image.png 空心三角+虚线表示实现关系 image.png image.png

聚合与组合 空心的菱形+实线箭头表示聚合关系 image.png 实心的菱形+实线箭头表示组合关系 image.png image.png 关联与依赖 实线箭头表示关联关系 image.png 虚线箭头表示 依赖关系 image.png

image.png

画图工具推荐

UML类图,时序图,流程图,脑图等我比较习惯用WPS,并不是说这个工具多好,用着比较顺手,就是比较恶心的是如果不开会员,好多漂亮的模板用不了,图形中元素的数量也有限制,有条件,有需要的还是充个会员会比较爽一些。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: 旋转数组算法 下一篇: oceanbase 驱动 java
  1. 分享:
最后一次编辑于 2023年12月09日 0

暂无评论

推荐阅读
hHMeGhEdRyHA