




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章聚集、组成、接口和实现,第5章聚集、组成、接口和实现,2,第5章聚集、组成、接口和实现,在本章中,你将学习如下内容:如何对接口以及与其相关联的类建模。如何对包含其他类的类建模。可见性的概念。最终的目标是要建立系统的静态视图,完成系统类之间的所有连接关系。,第5章聚集、组成、接口和实现,3,5.1聚集,一个类有时是由几个部分类组成的。这种特殊类型的关系被称为聚集(aggregation)。部分类和由它们组成的类之间是一种整体部分(part-whole)关联。例如:家用计算机系统(homecomputer)是一个聚集体,它是由主机箱、键盘(keyboard)、鼠标(mouse)、显示器(monitor)、CD一ROM驱动器、一个或多个硬盘驱动器(harddrive)、调制解调器(modem)、软盘驱动器(diskdrive),打印机(printer)组成,还可能包括几个音箱(speaker)。而主机箱内除CPU外还带着一些驱动设备,例如显示卡(graphicscard)、声卡(soundcard)和其他组件。,第5章聚集、组成、接口和实现,4,按照聚集关系的表示法,聚集关系构成了一个层次结构。“整体”类(例如,家用计算机系统)位于层次结构的最顶部,以下依次是各个“部分”类。整体和部分之间用带空心菱形箭头的连线连接,箭头指向整体。下图示意了家用计算机系统的组成。,第5章聚集、组成、接口和实现,5,尽管这个例子中的每个部分体都属于一个整体,但聚集关系并不是只有这种情况。例如,在一个家庭影院系统中,电视机和录像机可以共用同一个遥控器,那么这个遥控器既是电视机的组成部分,也是录像机的组成部分。,第5章聚集、组成、接口和实现,6,聚集上的约束有时一个聚集体可能由多种部分体组成,这些部分体之间是“Or(或)”关系。例如在某些餐馆中一顿饭包括汤(soup)或者沙拉(salad),主食(maincourse)和甜点(dessert)。要对这顿饭建模,必须使用一个约束。我们在两个整体部分关系线之间加上一花括号括起来的“or”来表示这个约束,并用虚线连接两个关系线,如下图所示。,第5章聚集、组成、接口和实现,7,5.2组成,组成是强类型的聚集。聚集中的每个部分体只能属于一个整体。例如,咖啡桌(coffeetable)是一个组成体,它的部分体有桌面(tabletop)和桌腿(leg)。除了菱形箭头是实心之外,组成和聚集的表示法相同,如下图所示。,第5章聚集、组成、接口和实现,8,5.3组成结构图,组成是展示一个类的构件的一种方式。如果希望能够展示类的内部结构,就需要进一步借助UML2.0的组成结构图(compositestructurediagram)。例如,假设要对一件衬衫建模。右图显示了使用一个大的矩形来表示衬衫类,而它的各个组成部分都嵌入在矩形之中。嵌套在其中的图展示了衬衫的各个组成部分之间的关系。组成结构图重点关注衬衫及其内部组成部分。,第5章聚集、组成、接口和实现,9,5.4接口和实现,接口(interface)是描述类的部分行为的一组操作,它也是一个类提供给另一个类的一组操作。汽车和电视机都通过一个接口接收消息,也就是执行一个操作的请求。如洗衣机的操作,从某种意义讲,洗衣机的控制柄的操作是抽象的。关闭或切断电源也好,顺时针或逆时针旋转也好,如果不和某种事物联系起来,它们并不能完成任何有价值的事情。,第5章聚集、组成、接口和实现,10,一个类和它的接口之间的关系叫做实现(realization)。在洗衣机的例子中,我们说洗衣机保证了它的部分行为能够“实现”控制柄的行为。在整个这个例子中,也许会注意到对一个接口的操作频繁引用,但却无关乎它的属性。这是因为就所关心的范围而言,还没有涉及到它的属性。当然,控制柄有半径和厚度,并且可能会有make和model这样的属性。关键是我们不关心这些。当它以接口的方式存在,我们所关心的只是它的操作。,第5章聚集、组成、接口和实现,11,接口的模型表示法接口的模型表示法和类大致相同用一个矩形图标来代表。和类的不同之处在于,接口只是一组操作,没有属性。注意:类可以采用省略表示法。类可以省略属性只表示出操作或者什么也不表示。如果一个类的表示省略了属性,那么怎么把这个类和接口区分开呢?一种办法是使用构造型,把它放在矩形框中接口的名字之上。另一个办法是接口的名字以大写字母“I”开头。,第5章聚集、组成、接口和实现,12,表示类和接口之间的实现关系的符号和继承关系的符号有些相似,只不过它是一个带空心三角形的箭头,箭头的方向指向接口。下图示意了WashingMachine和ControlKnob之间的实现关系。,第5章聚集、组成、接口和实现,13,另一种表示法(省略表示法)是将接口表示为一个小圆圈,并和实现它的类用一条线连起来,如下图所示。这种图有时候被形象地称作棒糖图(lollipopdiagram)。,第5章聚集、组成、接口和实现,14,继承和实现由于实现的符号和继承的符号有相似之处,则二者的区别是:继承:父类将物理属性和行为传递给子类。双亲对子女实现:父类只将行为或过程传递给子类。教师对学生。一个类可以实现多个接口,一个接口也可以被多个类实现。接口无处不在我们周围到处是接口。实际上,我们习惯于把接口和它所关联的物体视为一个整体,因此对它熟视无睹。,第5章聚集、组成、接口和实现,15,由于Person要依靠接口实现洗衣机的操作,我们把通过接口的交互建模为一种依赖。依赖的符号就是一条带箭头的虚线。下图示意了这种关系。,上图使用依赖符号,对通过接口和类的交互来建模。在UML1.x中,表示依赖关系的箭头,可以和完整的或是省略的接口符号一起工作。在UML2.0引入了“球窝”符号来作为省略版本,如下图所示。,第5章聚集、组成、接口和实现,16,5.5接口和端口,UML2.0允许接口和类之间的关联建模,从而使接口的概念得到更深刻的体现。例如:把鼠标看作是计算机的接口。你可以用它来做几件事情,指示和点击。这些操作本身毫无意义,只有计算机能够“实现”它们,它们才有价值。也就是说,可以能够用这些操作来定位光标和选取对象。鼠标是如何连接到计算机的?沿着鼠标后面的线缆,在计算机的后面,会看到一个端口(port),也就是鼠标插入的地方。计算机正是通过这些端口和外界的环境交互。,第5章聚集、组成、接口和实现,17,UML2.0提供了一个符号用来对这些交互点建模。如下图所示,端口符号是位于类符号边缘上的一个小方格,这个小方格连接到接口。,第5章聚集、组成、接口和实现,18,5.5.1可见性,可见性(visibility)可应用于属性或操作,它说明在给定类的属性和操作(或者接口的操作)的情况下其他类可以访问到的属性和操作的范围。可见性有3种层次(级别):在公有(public)层次上,其他类可以直接访问这个层次中的属性和操作。在受保护(protected)的层次上,只有继承了这些属性和操作的子类可以访问最初类的属性和操作。在私有(private)层次上,只有最初的类才能访问这终属性和操作。例如:在电视机(television)类中,changeVolume()(改变音量)和changeChannel()(改变频道)是公有操作,paintImageOnScreen()(显示画面)是私有的。在汽车(automobile)类中,accelerate()(加速)和brake()(刹车)是公有操作,而updateMileageCount()(修改里程表计数值)是一个受保护操作。,第5章聚集、组成、接口和实现,19,应该注意,实现关系意味着接口中的所有操作都是公有的。将这些操作对外界隐蔽起来没有什么意义,因为接口本来就是为了让外界不同的类来实现它而定义的。属性或操作名前面带个“+”号,则指明该操作或属性是公有的。同样,“#”号和“-”分别代表受保护的和私有的。下图示意了前面提到的电视机类和汽车类中的公有、受保护的和私有操作。,第5章聚集、组成、接口和实现,20,5.5.2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息技术对领导决策的辅助作用试题及答案
- 宁夏回族自治区科学绿化试点示范区建设实施方案
- 工业互联网平台边缘计算硬件架构在边缘计算与边缘计算生态融合的应用与优化报告
- 商业银行金融科技人才培养策略报告:2025年金融科技人才沟通协作能力培养策略
- K2教育中STEM课程实施对学生数学思维培养的2025年效果评估报告
- 文化娱乐产业数字化转型与商业模式创新报告2025
- 材料师 专业练习试卷附答案
- K2教育中STEM课程实施策略与效果评估报告:2025年实证研究
- 环保型焊接助焊剂行业深度调研及发展项目商业计划书
- 高端糕点新品发布会行业跨境出海项目商业计划书
- PEP英语四年级下册U5 My clothes Read and write(教学课件)
- DB37-T 2671-2019 教育机构能源消耗定额标准-(高清版)
- 部编版小学道德与法治三年级下册期末质量检测试卷【含答案】5套
- 断亲协议书范本
- 信息系统项目管理师论文8篇
- (完整版)重大危险源清单及辨识表
- 试验室仪器设备检定校准证书和测试报告确认表(公司范本)
- 《传媒翻译》教学大纲
- 新工科的建设和发展思考ppt培训课件
- [北京]大型房地产开发项目成本测算实例及表格(全套)
- 电荷耦合器件(CCD)介绍和工作原理
评论
0/150
提交评论