UML统一建模实用教程 第三章 类图

本文详细介绍了UML类图,包括类的表示、类图的作用以及类图中的各种关系,如依赖、泛化、关联和实现。文中通过实例展示了如何阅读和绘制类图,强调了类的职责、约束、导航性、多重性等关键概念,并通过电子商务网站业务案例解释了如何建立对象模型。
摘要由CSDN通过智能技术生成

第三章 类图

目录:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.1 类的表示

1.类图

类图是描述类、协作(类或对象间的协作)、接口及其关系的图。与所有UML的其它图一样,类图可以包括注释、约束、包。
类图中的关系包括:依赖关系(Dependency)
泛化关系(Generalization)
关联关系(Association)
实现关系(Realizetion)

图3-1 电子商务网站的对象模型

2.类图的作用

(1)为系统词汇建模型
(2)模型化简单的协作
(3)模型化一个逻辑数据库模式
(4)类图的组成元素
类图中的元素有类、接口、协作、关系、注释、约束、包。关系把类、协作、接口链接在一起构成一个图。注释的作用是对某些类和接口进行注释,约束的作用是对某些类和接口进行约束。

3.2 类图中的关系

3.2.1 类的表示

UML中,表示一个类,主要是标识它的名称、属性和操作。如图3-2所示,类由一个矩形表示,它包含3栏,在每栏中分别写入类的名称、属性、操作。在这里插入图片描述

图3-2 Order类

1.名称

类名称不可同名。名称(Namre)是一个文本串。

2.属性

属性描述了类的静态特征,在面向对象编程中,把属性表示为成员变量。在属性的面前有一个修饰,用来表示属性的可见性,属性的可见性一般都是private,这样才符合面向对象的“封装”思想。

3.操作

操作是类所提供的服务,通俗的说,操作就是定义了对象所能做的事情。在面向对象编程语言中,它通常表示为成员方法。

4.职责

职责指类承担的责任和义务。在矩形框中最后一栏中写明类的职责。
在这里插入图片描述
图3-3 职责的表示

5.约束

约束指定了类所要满足的一个或多个规则。在UML中,约束是用花括号括起来的自由文本。
在这里插入图片描述
图3-4 约束的表示

3.2.2 类的种类

1.抽象类

在进行类设计时,如果一些具体类具有相同的方法或属性,我们可以把这些相同的方法或属性从这些具体类中抽取出来,把它们封装到一个抽象类中,然后扩展抽象类,重新定义这些具体类。
抽象类是一种不能直接实例化的类(不能用抽象类创建对象)
在UML中,抽象类和抽象方法的表示是将其名字用斜体表示。草图中用《abstract》构造型来表示。
在这里插入图片描述
图3-5 抽象类的2种表示方法

2.接口

接口是一种类似于抽象类的机制,接口中的方法都是抽象方法。在UML中,接口有两种表示方法,如下图所示

在这里插入图片描述

3.关联类

在应用当中,我们发现两个类之间具有多对多的关系,并且有些属性不属于关联两端任何一个类,例如,在某个应系统中有两个类:person(人)和institute(协会),显然persong可以属于多个institute,而每个institute肯定会吸纳很多person。因此它们之间很显然就是一个多对多的关系。

如果要记录每个person在所属的institute所担任的职务,应该把这个职务属性放在哪个类中呢?这个属性既不属于person,也不属于institute。显然,这个属性应该放在关联类中(Role),如图3-6所示。
在这里插入图片描述
图3-6 关联类Role

4.模板类

在注入c++这样语言中,提供了一种叫做参数化类(parameterized class)的机制,或叫做模版(template)。例如,我们需要一些能过处理整型、浮点型、字符串的数组,普通的做法是为它们各创建一个类,这三个类除了数据类型不同之外,其他的都是相同,但是仍然要定义三次。
模版就是用来解决这个问题,可以根据占位符或者参数来定义类,而不用说明属性、方法返回值和方法参数的实际类型。通过实际值代替占位符即可创建新类。这样,就可以采用如图3-7所示的设计方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值