《第章定义结构与连接》-课件.ppt

  1. 1、本文档共107页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 定义结构与连接 9.1 整体-部分结构 9.2 一般-特殊结构 9.3 实例连接 9.4 消息连接 9.5 如何建立消息连接 9.6 消息的详细说明 9.7 电梯例子 本章中将把眼光从各个单独的对象转移到对象以外,分析和认识各个对象类之间的关系,以建立OOA基本模型的关系层。 对象类与外部的关系,有以下几种: (1)继承关系,用一般-特殊结构表示。 (2)整体-部分关系,用整体-部分结构表示。 (3)对象之间的静态联系,用实例连接表示。 (4)对象之间的动态联系 ,用消息连接表示 。 9.1 整体-部分结构 整体-部分关系反映了对象之间的构成关系,它也称为聚集关系。用于描述系统中各类对象之间的组成关系,通过它可以看出某个类的对象以另外一些类的对象作为其组成部分。 9.1.1 整体-部分结构及其用途 如果对象a是对象b的一个组成部分,则b为a的整体对象,a为b的部分对象。并把b和a之间的关系称作整体-部分关系。 整体-部分结构是把一组具有整体-部分关系的类组织在一起的结构。它是一个以类为结点,以整体-部分关系为边的连通有向图。 在用OOPL编程时,有两种实现整体-部分结构的方式,一种方式是把整体对象中的这个属性变量定义成指向部分对象的指针,或定义成部分对象的对象标识,运行时动态创建部分对象,并使整体对象中的指针或对象标识指向它,如图9-1(a)。 另一种方式是用部分对象的类作为数据类型,静态地声明整体对象中这个代表部分对象的属性变量。这样,部分对象就被嵌入到整体对象的属性空间中,形成嵌套对,如图9-1(b)。 两种结构在概念上的差别是很明显的,一个体现了“is-a-kind-of”关系,一个体现了“has-a”关系。 从实现的角度看,整体-部分结构对编程语言的要求远不像一般-特殊结构那样严格。可以运用整体-部分结构将多继承转化为单继承或无继承,从而使模型与编程结果能够更好地对应。 9.1.2 表示法 组合关系具有的最重要的性质是传递性。也就是说,如果A是B的一部分,B是C的一部分,则A也是C的一部分。图9-2是表示组合关系的图形符号。 9.1.3 如何发现整体-部分结构 组织机构和它的下级组织及部分 物理上的整体事物和它的组织部分 组织与成员 抽象事物的整体与部分 一种事物的空间上包容其它事物 具体事物和它的某个抽象方面 9.1.4 审查与筛选 是不是系统责任的需要 是否属于问题域 是否有明显的整体-部分关系 部分对象是否有一个以上的属性 9.1.5 简化对象的定义 在OOA模型中,如果某些对象的定义过于复杂,应想法把它简化,方法是:在一个复杂对象的内部进行“再分析”,看它的某些属性与服务是不是描述了该对象的某个独立部分。如果是,则用它们组成一个部分对象,从整体对象的类定义中分离出来,建立整体-部分结构。 9.1.6 支持软件复用 在两个或更多的对象类中都有一组属性和服务描述这些对象的一个相同的组成部分。把它们分离出来作为部分对象,建立整体-部分结构,这些属性和服务就被多个类所复用,从而简化了它们的描述。例如9-3所示的结构。 系统中已经定义了某类对象,在定义其它对象时,发现其中一组属性和服务与这个已定义的对象是相同的。那就不必再重复地定义这些属性与服务,只需建立它与前一类对象之间的整体-部分结构。 9.1.7 整体-部分结构的进一步运用 表示动态变化的对象特征 。首先分析一个对象哪方面的特征变化需要由一些动态变化的属性与服务来描述。把这些属性与服务分离出来组成一个部分对象,并与整体对象组成松散的整体-部分结构。系统在运行中动态地产生新的部分对象,以代替旧的部分对象。 表示数量不定的组成部分 。一个对象中若含有某种数量不定而内容相同的组成部分,则会给实现带来困难。太少了对于某些对象可能不够用,按多的数量定义又使大部分对象造成空间浪费。在这种情况下可用整体-部分结构解决,如图9-4所示。 9.1.8 调整对象层和属性层 对于每个整体-部分关系,整体对象中要增加一个属性来表明它的部分对象。在该属性的详细说明中要给出这个属性的数据类型。 定义整体-部分结构的活动可能发现一些新的对象类,或者从整体对象的类定义中分割出一些部分对象的类定义,应把它们加入到对象层中,并给出它们的详细说明。 9.2 一般-特殊结构 一般-特殊结构是由一组具有一般-特殊关系(继承关系)的类所组成的结构。 9.2.1 一般-特殊结构及其用途 从类的特征来看:如果类A具有类B的全部属性和全部服务,而且具有自己特有的某些属性或服务,则A叫作B的特殊类,B叫做A的一般类。 从类集合的元素来看:如果类A的全部对象都是类B的

文档评论(0)

沙卡娜 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档