- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 聚集、组成、接口与实现
第四章 聚集、组成、接口和实现; 本章中,你将学习有关类图的最后一些内容,包括前面还没介绍的一些关系以及其他问题。最终的目标是要建立系统的静态视图,完成系统类之间的所有连接关系。;调制解调器(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 组成;4.3 语境;各个组成部分的类图。里面的类图说明了衬衫的各个组成部分之间如何关联。这就是一张组成语境图(composit context diagram),因为衬衫“拥有”每一个组成部分。; 组成语境图重点关注衬衫和衬衫的内部构成。如果要展示衬衫加上衣挂,挂在衣架上,放在衣柜中的情形,那么必须要扩大建模范围。系统语境图(system context diagram)可以用来为此建模。它可以说明衬衫类如何与衣柜(Wardrobe)和衣挂类(Outfit)关联。;这馆冗扎淀零匙通醋模蘑糕副属贼浙铭污逻其貌鳃俗胰植伺煌西糜廊注惫第四章 聚集、组成、接口和实现第四章 聚集、组成、接口和实现;4.4 接口和实现; 举个例子来阐明接口这个概念。用来和计算机通信的键盘(keyboard)就是一个可重用的接口。键盘的击键(Keystroke)操作可以被打字机(Typewriter)重复使用。键盘上各个键的位置和打字机上键的位置相同,但是更重要的一点是击键操作从一个系统被移植到另一个系统中。接口中的其他操作,例如Shift键操作、Caps lock键操作和Tab键操作都是对打字机上对应键功能定义的重用。
当然,计算机键盘上提供的许多操作在打字机上是没有的:Control、Alt、PageUp、PageDown以及更多。接口只是某个类全部操作的一个子集,并不一定要包括类的所有操作。; 接口的模型表示法和类大致相同,都是用一个矩形图标来代表。和类的不同之处在于,接口只是—组操作,没有属性。前面曾说到过,类可以来用省略表示法,类可以省略属性只表示出操作或者什么也不表示。如果一个类的表示省略了属性,那么怎么把这个类和接口区分开呢?一种办法是使用构造型《interface》,把它放在矩形框中接口的名字之上。另一个办法是接口的名字以大写字母“I”开头。
在某种意义上,仿佛计算机键盘保证了它自己的部分行为能够“实现”打字员的行为。因此,类和接口之间的关系被称为实现。实现关系用一个带空心三角形箭头来表示,箭头的方向指向接口。; 另一种表示法(省略表示法)是将接口表示为—个小圆圈,并和实现它的类用一条线连起来。; 注意实现的符号和继承的符号有相似之处。两者的唯一差别是实现关系用虚线表示,继承关系用实线表示。表示法的异同暗示了这两种关系的相似性(和差异)。可以把继承看成是双亲与孩子的关系:双亲遗传了物理属性给孩子(例如,眼睛的颜色、头发的颜色等等),孩子同样也继承双亲的一些行为。而实现关系可以比做学生和教师之间的关系:教师并没有把自己的物理属性传递给学生,但是学生从教师那里学到了一些行为和过程。
一个类可以实现多个接口,一个接口也可以被多个类实现。;4.4.1 可见性
与接口和实现密切相关的是可见性概念。可见性(visibility)可应用于属性或操作,它说明在给定类的属性和操作(或者接口的操作)的情况下,其他类可以访问到的属性和操作的范围。可见性有3种层次(级别)。在公有(public)层次上,其他类可以直接访问这个层次中的属性和操作。在受保护(protected)的层次上,只有继承了这些属性和操作的子
文档评论(0)