第3章类图、对象图和包图摘要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
掌握以下基础知识对类的成功设计是至关重要的: (1)学习掌握为类建模的知识; (2)对应用领域的正确、深入的理解; (3)学习研究相似的和成功的设计经验; (4)超前思维和预测结果的能力; (5)不断精化模型和修正缺陷的实践。 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类就属于DataBas

文档评论(0)

基本资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档