展开章节目录
实验 04

类图和对象图

创建类、属性、操作,设置关联、聚合、泛化、多重性,并由类实例构造对象图。

复习要点

  • 类由名称、属性、操作组成;对象是类在某一时刻的实例。
  • 关联描述一般联系;聚合表达整体—部分;泛化箭头由子类指向父类。
  • 多重性常见写法:1、0..1、*、1..*;角色名说明关联端承担的角色。
  • 可见性:public(+)、private(−)、protected(#);Rose 界面也可能用图标表示。
  • 对象图可通过 Collaboration Diagram 创建对象并用 Link 建立实例间连接。

操作主线

建类 → 加属性/操作 → 新建类图 → 拖入类 → 建关系并设角色/多重性 → 建对象图

完整实验指南点击展开或收起
  1. 类图

要求绘制下面类图。

类图和对象图操作截图

图1-1 汽车类图

定义类的最通用方法是,在浏览器窗口的Logic View中添加新类。下面是定义类的步骤:

1.1创建类名

步骤:右击浏览器窗口中的Logic View,打开快捷菜单,选择:New→Class后,系统自动增加了一个项目:<<>>NewClass。我们在此处输入Body,如图1-2所示。

类图和对象图操作截图

图1-2 创建Body类

1.2给类添加属性

汽车外壳(Body)有颜色(color)和品牌(brand)属性,下面,给Body添加color属性。

步骤: 右击Body, 打开快捷菜单,选择:New→Attribute后,系统自动在Body名称下增加一个项目:<<>>name。我们在此处输入color,如图1-3所示。

类图和对象图操作截图

图1-3 添加属性color

用同样的方法,添加 brand属性。

1.3给类添加方法

Body有自动清洗功能(clean()),下面给Body添加clean方法。

步骤:右击Body, 打开快捷菜单,选择:New→Operation后,系统自动在Body名称下增加一个项目:<<>>opname。我们在此处输入clean,如图1-4所示。

类图和对象图操作截图

图1-4 添加方法clean

如果要添加多个方法,步骤同上面一样。

上面完成了Body类的创建。 同理,重复上面1-3步,创建类:Car、Engine、Wheel、Passenger(这4个类没有添加属性和方法),如图1-5所示。

类图和对象图操作截图

图1-5 创建了5个类

1.4创建类图和打开类图

步骤:右击LogicalView, 打开快捷菜单,选择:New→ Class Diagram后,系统自动在LogicalView下增加一个项目:NewDiagram。我们在此处输入:汽车类图,如图1-6所示。

类图和对象图操作截图

图1-6创建汽车类图

双击文本”汽车类图”,打开汽车类图模型,如图1-7所示

类图和对象图操作截图

图1-7 汽车类图在模型窗口中打开

上图显示,LogicalView,下有2个类图,它们的名字分别是:Main、汽车类图。这2个类图都在右边的模型图窗口中打开了。2个类图中都没有类,都是空的。

1.5把类拖入类图中

步骤:在浏览器窗口中,点击Body,按下左键(不要松手),将Body拖入右边的汽车类图中。

重复上面的步骤,分别将类Car、Engine、Wheel、Passenger拖入汽车类图中,如图1-8所示。

类图和对象图操作截图

图1-8 五个类拖入汽车类图中

1.6建立类间关系

(1)Passenger与Car之间是关联关系,在这个关联中,Passenger的角色是旅客,Car的角色是车载。一辆Car最多可以载8个Passenger,多个旅客乘一辆Car.

步骤:单击菜单Tools→Create→Association,然后,在汽车类图中的Passenger图标上按下左键(不要松手),拖动鼠标到Car图标上,松开左键。如图1-9所示。

类图和对象图操作截图

图1-9 建立Passenger与Car之间是关联

(a)设置关联的角色

在关联(一条实现)的左端右击,打开快捷菜单,选择Role name, 输入角色:旅客。在关联的右端右击,打开快捷菜单,选择Role name, 输入角色:载客。

(b)设置关联的多种性

在关联的左端右击,打开快捷菜单,选择Multiplicity→n。

在关联的右端右击,打开快捷菜单,选择Multiplicity→1。

完成角色和多种性设置后,如图1-10所示。

类图和对象图操作截图

图1-10 给关联添加角色和多种性

(2)Car与Wheel、Engine之间是聚合关系

(a) 绘制Car与Wheel的关系

步骤:单击菜单Tools→Create→Aggregation,然后,在汽车类图中的Car图标上按下左键(不要松手),拖动鼠标到Wheel图标上,松开左键。如图1-11所示。

类图和对象图操作截图

图1-11 绘制Car与Wheel之间的聚合关系

点击工具箱中的”ABC”后,在聚合的右端附近点击一下,输入数据:4

同理, 重复上面步骤,绘制Car与Engine之间的聚合关系。如图1-12所示。

类图和对象图操作截图

图1-12绘制Car与Wheel之间的多种性

同理,建立Car与Body之间的关系,最后,如图1-13所示。

类图和对象图操作截图

图1-13 汽车类图

注意:模型图中要用到的多数工具都在工具箱中,但是,有少数工具只能通过Tools→Create→ 获取。如,类图中要用到的关联、聚合在工具箱中没有显示。

1.7修改属性和方法的可见性

默认情况下,属性的可见性都是:private,方法的可见性都是:public。下面修改Body类的属性和方法的可见性。

(1)将属性color的可见性改为:public

步骤:在类图中,右击Body图标,打开快捷菜单,选择Open Specification,打开类的规范窗口,如图1-14所示。

类图和对象图操作截图

图1-14 规范窗口

点击Attributes标签,出现属性列表,如图1-15所示。

类图和对象图操作截图

图1-15 类的属性列表

双击列表框中的color,弹出对话框,如图1-16所示。

类图和对象图操作截图

图1-16 属性可见性选择

在Export Control单选组中,点击public单选框。这样,就把属性color的可见性改为:public 了。

(2)将方法clean的可见性改为:protected

步骤

在类图中,右击Body图标,打开快捷菜单,选择Open Specification,打开类的规范窗口→点击Operations标签,出现方法列表,如图1-17所示。

类图和对象图操作截图

图1-17 类的方法列表

双击列表框中的clean,弹出对话框,如图1-18所示。

类图和对象图操作截图

图1-18 方法可见性选择

在Export Control单选组中,点击Protected单选框。这样,就把方法clean的可见性改为:Protected了。

★练习:请绘制图1-19。

ATM系统中包括四个类,它们是:读卡机、账目、ATM屏幕和取钱机。

有些属性和方法的左边有一个小锁的图标,表示这个属性和方法的可见性是:private。没有小锁的,表示可见性是:public,若是一个钥匙图标,表示可见性是:protected。请绘制下面类图:

类图和对象图操作截图

图1-19

  1. 对象图

要求建立如下对象图

类图和对象图操作截图

2.1定义类

确定对象图中有哪些类,并在浏览器窗口中,建立每个类。

步骤:

(1)在Logic View中添加类Person、Company。如图1-20所示。

类图和对象图操作截图

图1-20 新建类Person和Company

2.2建立对象图

步骤:

1右击LogicalView, 打开快捷菜单,选择:New→ Collaboration Diagram后, 系统自动在LogicalView下增加一个项目:NewDiagram, 我们在此处输入:对象图,如图1-21所示。

类图和对象图操作截图

图1-21 对象图

(2) 在文本”对象图”上双击鼠标,则,对象图在右边的模型窗口中打开,如图1-22所示。

类图和对象图操作截图

图1-22 对象图在模型图窗口中打开

(3) 将浏览器窗口中的类Person和Company拖入对象图中

(4)给对象命名

右击Person图标, 打开快捷菜单,选择Open Specification,打开规范窗口,在name后面输入:刘文彩。如图1-23所示。

类图和对象图操作截图

图1-23 对象命名

点击OK按钮,就完成了对象”刘文彩”的设置。

重复上面1-4步,完成对象”华为集团”的设置。如图1-24所示。

类图和对象图操作截图

图1-24 对象命名

2.3建立对象间的链接

在工具箱中点击链接按钮,然后,在对象”刘文彩”图标上按下左键(不要松手),拖动鼠标到对象”华为集团”,然后,松开左键。就建立了对象之间的链接。然后,点击工具箱中的按钮”ABC”,给链接的每一端添上角色。如图1-25所示。

类图和对象图操作截图

图1-25 对象图

  1. 作业

类图1-26如下:

类图和对象图操作截图

图1-26

要求:

  1. 将6个类放置在wangPackage包中。

  2. 绘制类图。

  3. 将wangPackage 包导出到wangPackage.ptl文件中。

实验步骤:

1)在Logical View下创建6个类,如图1-27所示。

类图和对象图操作截图

图1-27 创建6个类

2)右击Logical View 打开快捷菜单,选择New→Package, 系统自动创建一个项目:NewPackage, 将项目名改为:wangPackage。 如图1-28所示。

类图和对象图操作截图

图1-28 创建一个包wangPackage

3)将包wangPackage拖入Logical View的主类图中,如图1-29所示。

类图和对象图操作截图

图1-29 将包wangPackage拖入Main类图中

4)双击wangPackage包时,系统自动在wangPackage包中创建一个Main类图,并打开该类图,如图1-30所示。

类图和对象图操作截图

图1-30 wangPackage包的Main类图在模型窗口中打开

5)将Logical View下的6个类拖入wangPackage 包中的Main类图中,并建立类之间的关系,如图1-31所示。

类图和对象图操作截图

图1-31 类图

导出 wangPackage包的步骤:

  1. 点击包名”wangPackage”

  2. 选择File→Export Model,打开对话框,输入文件名:wangPackage。如图1-32所示。

类图和对象图操作截图

3)点击”保存”按钮,这样,将包wangPackage保存到wangPackage.ptl中了。

返回顶部 ↑