(9-)对象数据模型.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(9-)对象数据模型

二 面向对象数据模型 面向对象(object-oriented,oo)的概念起源于程序设计语言——面向对象的编程语言(简称OOPL),强调对象概念的统—,引入对象、对象类、方法、实例等概念和术语,采用动态联编和单继承性机制。它以OOPL为核心,集各种软件开发工具为一体,建立OO计算环境,配有很强的图形功能和多窗口用户界面。 基本出发点就是以对象作为最基本的元素,尽可能按照人类认识世界的方法和思维方式来分析和解决问题。 对象:是对客观世界实体的抽象描述,由信息(数据)和对数据的操作组合而成。 类:是对多个相似对象共同特性的描述。 消息:是对象之间通信的手段,用来指示对象的操作。分公有消息和私有消息。 方法:是对象接收到消息后应采取的动作序列的描述。 实例:是由一特定类描述的具体对象。 元类:是相似的类的共同属性的抽象,元类的实例是类,类的实例是对象。 ①对象与封装性 在面向对象的系统中,每个概念实体都可以模型化为对象。一个对象是由描述该对象状态的一组数据和表达它的行为的一组操作(方法)组成的。例如,河流的坐标数据描述了它的位置和形状,而河流的变迁则表达了它的行为。可见,对象是数据和行为的统一体。 一个对象可定义成一个三元组: Object=(ID,S,M) 其中,ID为对象标识, M为方法集, S为对象的内部状态,它可以直接是一属性值,也可以是另外一组对象的集合,因而它明显地表现出对象的递归。 封装的最基本单位是对象。封装技术提高了面向对象方法开发软件的可重用性,从而大大提高了复杂软件的开发效率、质量和可靠性,更加易于维护。 ②分类 类是关于同类对象的集合,具有相同属性和操作的对象组合在一起称为类。属于同一类的所有对象共享相同的属性项和操作方法,每个对象都是这个类的一个实例,即每个对象可能有不同的属性值。 可以用一个三元组来建立一个类型: Class=(CID,CS,CM) 其中, CID为类标识或类型名,CS为状态描述部分,CM为应用于该类的操作。显然有:S∈CS和 M∈CM (当Object∈Class时) 在实际的系统中,仅需对每个类型定义一组操作,供该类中的每个对象应用。由于每个对象的内部状态不完全相同,所以要分别存储每个对象的属性值。 ③概括 在定义类型时,将几种类型中某些具有公共特征的属性和操作抽象出来,形成一种更一般的超类。例如,将 GIS中的地物抽象为点状对象、线状对象、面状对象以及由这三种对象组成的复杂对象,因而这四种类型可以作为GIS中各种地物类型的超类。 例如,建筑物是饭店的超类,因为饭店也是建筑物。子类还可以进一步分类,如饭店类可以进一步分为小餐馆、普通旅社、宾馆、招待所等类型。所以,一个类可能是某个或某几个超类的子类,同时又可能是几个子类的超类。 概括 超类:在定义类型时,将几种类型中某些具有公共特征的属性和操作抽象出来,形成一种更一般的超类。设有两种类型: class1=(CID1,CSA,CSB,CMA,CMB) class2=(CID2,CSA,CSC,CMA,CMc) 可形成一种超类: Superclass(CID,CSA,CMA) 其中SID为超类的标识号, 此时 class1=(CID1,CSB,CMB) class2=(CID2,CSC,CMC) class1和class2称为Superclass的子类(Subclass)。 一个类可能是某个或某几个超类的子类,同时又可能是几个子类的超类。 ④ 继承 建立超类实际上是一种概括,避免了说明和存储上的大量冗余。由于超类和子类的分开表示,所以就需要一种机制,在获取子类对象的状态和操作时,能自动得到它的超类的状态和操作。这就是面向对象方法中的模型工具——继承,它提供了对世界简明而精确的描述,以利于共享说明和应用的实现。 ⑤聚集 聚集是将几个不同特征的对象组合成一个更高水平的复合对象。每个不同特征的对象是该复合对象的一部分,它们有自己的属性描述数据和操作,这些是不能为复合对象所公用的.例如,弧段聚集成线状地物或面状地物,简单地物组成复杂地物。 在聚集这两种对象中,是用“传播”作为传递子对象的属性到复杂对象的工具。 即是说,复杂对象的某些属性值不单独存于数

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档