- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.6 抽象类 使用泛化声明一个很好、可重用的通用类时,有此情况下是无法实现此通用类需要的所有行为。例如,如果正在实现一个Store类,该类包含两个操作store和retrieve,分别实现了储存和检索文件的功能。但如何存储到文件、存储到什么文件、如何检索文件等都是不确定的,这些都必须留待子类决定。 为通过声明操作是抽象的,以指明store和retrieve操作的实现将由子类决定,应以斜体字表示这些操作。如图3-47所法: 3.7 接口 如果想要声明具体类应该实现的方法,但因为一个继承关系而不想使用抽象类,那么可以使用接口(Interface)。在进行系统建模时,接口起到十分重要的作用,因为模型元素之间的协作是通过接口进行的。可以为类、组件和包(随后将会介绍组件和包的概念)定义接口,利用接口说明类、组件和包能够支持的行为。一个结构良好的系统,通常都定义了比较规范的接口。 接口是一组没有相应方法实现的操作,非常类似于仅包含抽象方法的抽象类。接口是对对象行为的描述,但是并不给出对象的实现和状态。接口只包含操作而不包含属性,并且接口也没有对外界可见的关联。一个类可以实现多个接口。使用接口比使用抽象类要安全得多,因为它可以避免许多与多重继承相关的问题。这也是为什么像Java和C#等新型编程语言允许类实现多个接口,但只能继承一个通用或抽象类。 3.8 对象图 对象是类的实例,对象图也可看作是类图的实例。对象是作何面向对象系统在运行时的核心,因为设计的系统在实现使用时,组成系统的各个类将分别创建对象。使用对象图可以根据需要建立特定的示例或者测试用例,然后通过示例研究如何完善类图;或者使用测试用例对类图中的规则进行测试,以求发现类图中的错误或者漏掉的需求,进而修正类图。本节将介绍对象图的有关概念,以及在对对象结构建模时可遵循的策略等内容。 3.6.1 对象和链 对象图描述了参与交互的各个对象在交互过程中某一时刻的状态。可以认为对象图是类图在某一时刻的实例。为了绘制对象图,首先需要添加的第一个内容就是实际对象本身。 由于对象是类的实例,所以对象图中使用的符号和关系与类图中使用的相同,绘制对象图有助于理解复杂的类图。在UML中,对象的表示方式与类的表示方式几乎是一样的,其中的一个区别是,在对象名的下面要有下划线。 3.6.2 使用对象图建模 为了对系统的静态结构建模,可以绘制类图以描述抽象的语义以及它们之间的关系;但是,一个类可能有多个实例,对于若干个相互联系的类来说,它们各自的对象之间进行交互作用的具体情况可能多种多样;类图并不能完整地描述系统的对象结构,为了考察在某一时刻正在发生作用的对象以及这组对象之间的关系,需要使用对象图对描述系统的对象结构。 3.7 包图 随着软件越来越复杂,一个程序往往包含了数百个类。那么如何管理这些类就成了一个需要解决的问题。一种有效的管理方式是将类进行分组,将功能相似或相关的类组织在一起,形在若干个功能模块。 在UML中,对类进行分组时使用包。大多数面向对象的语言都提供了类似UML包的机制,用于组织及避免类间的名称冲突。例如Java中的包机制,C#中的命名空间。用户可以使用UML包为这些结构建模。 3.7.1 理解包图 包图是维护和控制系统总体结构的重要建模工具。对复杂系统进行建模时,经常需要处理大量的类、接口、组件、节点等元素,这时,有必要对它们进行分组。把语义相近并倾向于同一变化的元素组织起来加入同一个包中,以便于理解和处理整个模型。 3.7.2 导入包 当一个包将另一个包导入时,该包里的元素能够使用被导入包里的元素,而不必在使用时通过包名指定其中的元素。例如,当使用某个包中的类时,如果未将包导入,则需要使用包名加类名的形式引用指定的类。在导入关系中,被导入的包称为目标包。要在UML中显示导入关系,需要画一条从包连接到目标包的依赖性箭头,再加上字符import,如图所示。 3.7.2 使用包图建模 在构造好系统的类图模型后,可以根据类图中类与类之间的逻辑关系将图书管理系统中的类划分为3个包:UserInterface包、Library包和DataBase包。UserInterface包由用户界面类组成,包Library由业务逻辑处理Book类、Title类、Loan类和Borrower类组成;包DataBase包含了与数据库有关的类,因而Persistent类就属于DataBase包。 图书管理系统的包图如图所示。 * 第3章 类图、对象图和包图 使用面向对象的思想描述系统,能够把复杂的系统简单化、直观化,这有利于用面向对象的程序设计语言实现系统,并有利于未来对系统的维护。构成面向对象模型的
您可能关注的文档
- 第2课 砖石上的雕刻.ppt
- 第2章 “语文教学内容”设计——语文教学设计的关键问题.ppt
- 第2章 国际服务贸易的分类与统计.ppt
- 第2章VB程序设计的基本窗口.ppt
- 第2章-国际分工及国际贸易关系.ppt
- 第2章-人体工程学与家具设计.ppt
- 第2章消费者购买行为类型与购买决策.ppt
- 第03课中国现代雕塑.ppt
- 第3讲 常量、变量与标志符 整型、实型、字符型数据.ppt
- 第3讲 国际收支与国际收支平衡表(3).ppt
- 2026年舟山市岱山县长涂镇人民政府招聘备考题库及参考答案详解1套.docx
- 2026年舟山市志愿服务联合会公开招聘工作人员的备考题库及一套完整答案详解.docx
- 2025年细胞治疗五年临床转化:肿瘤治疗技术转化与再生医学应用前景行业报告.docx
- 生物育种资管2025年动态:种业创新与粮食安全投资报告.docx
- 2025年出版业五年数字化转型分析.docx
- 2025年亚麻纺织服装定制服务十年趋势报告.docx
- 2026年舟山市岱山县长涂镇人民政府招聘备考题库及一套答案详解.docx
- 2026年舟山市岱山县长涂镇人民政府招聘备考题库有答案详解.docx
- 2026年舟山市岱山县长涂镇人民政府招聘备考题库带答案详解.docx
- 2025年出版行业五年内容生态报告.docx
原创力文档


文档评论(0)