UML类图学习--类图
UML类图学习–类图
类图包含了什么
属性元素
在日常的开发和文档编写中,我们用到的最多的就是类图。在这里,我们讲解下类图的使用方法。
对于类图而言,我们包含了一个重要的元素,这个元素就是类。当然,在实际中,我们把接口也当作一种特殊的类。因此实际上,类图所包含的属性元素有:
- 接口
- 真正的类
而这个“真正的类”中,我们包含了
- 实体类
- 控制类
- 边界内
下面我们一一进行讲解
实体类
实体类对应系统需求中的每个实体,它们通常需要保存在永久存储体中,一般使用数据库表或文件来记录,实体类既包括存储和传递数据的类,还包括操作数据的类。实体类来源于需求说明中的名词,例如学生、商品等。
控制类
控制类用于体现应用程序的执行逻辑,提供相应的业务操作,将控制类抽象出来可以降低界面和数据库之间的耦合度。控制类一般是由动宾结构的短语(动词+名词)转化来的名词,如增加商品对应有一个商品增加类,注册对应有一个用户注册类等。
边界类
边界类用于对外部用户与系统之间的交互对象进行抽象,主要包括界面类,如对话框、窗口、菜单等。
模型元素
- 依赖关系
- 泛化关系
- 关联关系
- 聚合关系
- 组合关系
- 实现关系
类图模型元素讲解
接口
对于接口而言,我们在上文已经说明了,在UML中我们把接口当作一中特殊的类。下面我们先来一个图片,看一下,在UML中接口是长什么样子的,在这里,我们以ProcessOn为例进行描述,与网上的图片可能有差异。
其实,在这里,我们用这一个图就可以说明:
- 首先,在最上面我们定了一个接口的名字,叫做”EatInterface”。
- 在这个接口中,我们定义了三个方法,而这三个方法含有描述符。
- + 代表该方法是public
- - 代表该方法是private
- # 代表该方法是protected
- 如果当前方法存在参数,则需要将参数列出来
- 方法与返回值之间用”:”进行分割,”:”后面的是方法的返回值
真正的类
对于实体类而言,在processOn方法中,与接口的展示是一致的。只不过在实体类中,可以存在成员变量。
在这里,我们对于方法不在进行过多的阐述,因为与之前的接口中的说明一致,在这里,我们发现在”Student”类,存在成员变量”name”、”id”。改描述与方法一致。在这里,不再阐述。
依赖关系
依赖关系真的是多个类之间的依存关系。比如:植物类依赖土壤、水源、空气等。同时,依赖关系可以继续细分,分成5个小类:
- 绑定依赖
- 实现依赖
- 使用依赖
- 抽象依赖
- 授权依赖
依赖关系是用虚线箭头来表示的,箭头指向的方向,就是当前类所需要依赖的实体。
下面我们举例说明:
泛化关系
泛化关系这个名词头一次听的一定比较懵逼,不知道是什么高大上的意思。其实,泛化关系就是继承关系,是用空心三角形+实线来表示的,箭头指向的方向,就是当前类所需要依赖的实体。
下面我们举例说明:
关联关系
关联关系是一种相关影响的关系。例如,森林可以影响气候,而气候也可以影响森林。关联关系是用双向箭头+实线来进行表示的。
下面我们举例说明:
聚合关系
聚合关系是类之间的一种较弱的耦合关系,如一个字符串数组和一个字符串就是一种聚合关系。在UML中,聚合关系用空心的菱形+实线箭头来表示,箭头指向为被聚合的类。
下面我们举例说明:
组合关系
组合关系是类之间一种整体与部分之间的关系,如一只青蛙有四条腿,青蛙类与青蛙腿类之间的关系就是组合关系。在UML中,组合关系用实心的菱形+实线箭头来表示,箭头指向为被组合的类。
下面我们举例说明:
实现关系
一般来讲实现关系是针对类与接口之间的关系而言的。在UML中,实现关系用空心三角形+虚线来表示。
下面我们举例说明:
组合成一个整体
转载请注明来源,欢迎指出任何有错误或不够清晰的表达。可以邮件至 gouqiangshen@126.com
文章标题:UML类图学习--类图
文章字数:1.2k
本文作者:BiggerShen
发布时间:2019-09-12, 23:07:55
最后更新:2024-01-16, 03:51:15
原始链接:https://shengouqiang.cn/UML/UML-02/版权声明: 转载请保留原文链接及作者。