- 1
- 0
- 约 22页
- 2017-06-05 发布于湖北
- 举报
* * 第四章 聚集、组成、接口和实现 在这一章中,你将学习下述内容: ● 聚集。 ● 组成。 ● 语境。 ● 接口。 ● 实现。 ● 可见性。 本章中,你将学习有关类图的最后一些内容,包括前面还没介绍的一些关系以及其他问题。最终的目标是要建立系统的静态视图,完成系统类之间的所有连接关系。 4.1 聚集 一个类有时是由几个部分类组成的。这种特殊类型的关系被称为聚集。部分类和由它们组成的类之间是一种整体—部分关联。例如家用计算机系统(Home computer)是一个聚集体,它是由主机箱、键盘(Keyboard)、鼠标(Mouse)、显示器(Monitor)、CD—ROM驱动器、一个或多个硬盘驱动器(Hard drive)、 调制解调器(Modem)、软盘驱动器(Diskette drive)、打印机(Printer)组成,还可能包括几个音箱(Speaker)。而主机箱内除cpu外还带着一些驱动设备,例如显示卡(Graphics card)、声卡Sound card)和其他组件。 按照聚集关系的表示法,聚集关系构成了一个层次结构。“整体”类(例如,家用计算机系统)位于层次结构的最顶部,以下依次是各个“部分”类。整体和部分之间用带空心菱形箭头的连线连接,箭头指向整体。下图示意了家用计算机系统的组成。 聚集具有传递性,换句话说,如果类3是类2的部分类并且类2是类1的部分类,那么类3是类1的部分类。在前面的例子中,鼠标按钮和鼠标球是鼠标的一部分,并且也是计算机系统的一部分。 有时一个聚集体可能有多种部分体组成,这些部分体之间是“or(或)”关系。例如在某些餐馆中,一顿饭包括汤(Soup)或者沙拉(Salad)、主食(Main course)和甜点(Dessert)。要对这顿饭建模,必须使用一个约束——在两个整体—部分关系线之间加上一花括号括起来的“or”来表示这个约束,并用虚线连接两个关系线。 4.2 组成 组成是强类型的聚集。聚集中的每个部分体只能属于一个整体。例如,咖啡桌(CoffeeTable)是一个组成体,它的部分体有桌面(TableTop)和桌腿(Leg)。组成的表示法和聚集的表示法类似,但是菱形箭头是实心。 4.3 语境 在对系统建立模型时,类通常以类族的形式出现,这些类族中的类之间常常有聚集或组成关系。有时可能需要集中考察其中的某个类族,UML语境图提供了这种建模特征。组成语境图在UML语境图中占很大比重。语境图就有点像—幅大图中某个局部的子图。有时需要将一个大图中某些局部“放大”来获取详细信息。 举个例子,假设你要建立一个衬衫(Shirt)的类模型,并要说明衬衫的尺寸和组成。一种类型的语境图就是将衬衫类画成一个大矩形框,里面嵌套了该衬衫的 各个组成部分的类图。里面的类图说明了衬衫的各个组成部分之间如何关联。这就是一张组成语境图(composit context diagram),因为衬衫“拥有”每一个组成部分。 组成语境图重点关注衬衫和衬衫的内部构成。如果要展示衬衫加上衣挂,挂在衣架上,放在衣柜中的情形,那么必须要扩大建模范围。系统语境图(system context diagram)可以用来为此建模。它可以说明衬衫类如何与衣柜(Wardrobe)和衣挂类(Outfit)关联。 4.4 接口和实现 在你建立了几个类之后,你可能会发现它们并不与某个特定的父类相关,但是它们的行为中可能包括同样的操作和同样的型构。可以对其中的某个类编码,然后在其他的类中重用这些编码。另一种可能的情况是开发了一个系统中类的一组操作并在另一个类中可以重用这些操作。 不管是哪种方式,你都需要这些可重用的操作集。接口是能够让你达到此目的的UML组件。接口(interface)是描述类的部分行为的一组操作,它也是一个类提供给另类的一组操作。 举个例子来阐明接口这个概念。用来和计算机通信的键盘(keyboard)就是一个可重用的接口。键盘的击键(Keystroke)操作可以被打字机(Typewriter)重复使用。键盘上各个键的位置和打字机上键的位置相同,但是更重要的一点是击键操作从一个系统被移植到另一个系统中。接口中的其他操作,例如Shift键操作、Caps lock键操作和Tab键操作都是对打字机上对应键功能定义的重用。 当然,计算机键盘上提供的许多操作在打字机上是没有的:Control、Alt、PageUp、PageDown以
您可能关注的文档
- 彩色3D打印机课件.ppt
- 上拉电阻及下拉电阻应用.doc
- 上市公司各项指标快速查询方法教材.doc
- 什么是根目录知识.doc
- 什么原因容易导致RAID磁盘陈列信息丢失课件.ppt
- 操作题答题思路知识.doc
- 升腾Window终端使用常见问题与处理办法.doc
- 操作系统 第1节 操作系统概述.ppt
- 操作系统 第8节 文件系统 File System.ppt
- 操作系统 第四讲 存储管理.ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 电商数据分析(微课版)课件全套 第1--10章 电商数据分析概述---数据分析报告与看板制作.pptx
- 异常子宫出血的护理查房.pptx
- 2025年中医执业医师个人工作计划范文.docx VIP
- 2024《中班幼儿饮食行为现状调查—以S幼儿园为例》12000字.docx VIP
- 2025年美容美发十年行业数据洞察报告.docx
- 护理交接班制度.pptx VIP
- 初中电学总复习初中电学总复习.doc VIP
- 北京邮电大学《机器学习》2023-2024学年期末试卷.doc VIP
- 照顾老人保姆合同范本10篇.docx VIP
- 2024年锡林郭勒职业学院单招职业倾向性考试题库必考题.docx VIP
原创力文档

文档评论(0)