UML类图




前言

庞大而系统地学习某方面的知识,或许需要足够的心理准备,甚至身体状态、发量……

碎片学习试图通过10min以内的时间,采用高效的思路去理解某个实用的知识点,直击本质,心无旁骛。

这是碎片学习系列文章的第一篇。


文章目录

简介

UML是什么?

为什么要学UML?

本教程目标?

识图

类的基本表示

成员可见性

继承关系

成员关系

依赖关系

绘图

检测


简介

  • UML是什么?

UML是Unified Model Language的缩写,中文是统一建模语言,是由一整套图表组成的标准化建模语言。

  • 为什么要学UML?

简单来说,很多编程相关的书本、教程都采用UML类图来描述类(class)成员(变量、函数)以及类之间的关系(继承、组合等),看不懂则理解内容比较费劲。

学习以后,自己可以采用UML语言来设计程序的类关系,提高顶层设计能力,且便于与同行交流。

甚至存在UML软件能够将UML类图直接生成代码的操作,或能极大提升工作效率。

UML类图是UML语言中的一种图,用来表示类、接口以及它们之间的静态结构和关系。还有其它类型的图如组件图、对象图等,此处不涉及。

  • 本教程目标?

10min看懂90%以上教程中的UML类图。


识图

多数教程思路为先给图,然后解释图。此处从代码实现需求出发,对需要的关系思考如何使用UML类图来表示。以下为C++代码中经常用到的表示:

  • 类的基本表示

如图 1所示,一个类的表示采用3层长方形表示,第一层类名,第二层成员变量,第三层成员函数。

图1 类的基本表示

  • 成员可见性

如图 2,在成员前的字符表示可见性:-私有、+公有、#保护。

图 2 成员可见性表示

  • 继承关系

如图 3,B类继承了A类,采用空心三角形表示。在UML语言中一般采用泛化(Generalization)的描述。

图 3 继承(泛化)关系

  • 成员关系

UML类图中表示成员变量常用2种:聚合(Aggregation)和组合(Composition)。聚合表示成员变量离开整体后能够单独存在,组合则不能单独存在。二者需要从事务逻辑上区分。

如图 4,聚合采用空心菱形,组合采用实心菱形,指向整体。键盘与电脑是聚合关系,键盘可以离开电脑继续作用;鸟与鸟的翅膀是组合关系,翅膀离开鸟之后不能作用。

图 4 聚合(上)与组合(下)

  • 依赖关系

使用类A需要依赖于类B,如作为局部变量,或使用了B的静态方法等。如图 5所示。

图 5 依赖关系


绘图

本文中所有绘图均采用StarUml软件(下载地址),该软件使用完全免费且开源。


检测

可以看图 6,思考一下各部分的关系,或者使用软件绘出该图,以检验自己的掌握情况。

图 6 检验图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值