对象行为说明.PPT

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

第八章 对象行为说明 $8.1 操作分类 对面向对象的数据库而言,相关的操作可以分为三类: I 对象实例的构造,销毁 II 实例状态的查询 III 实例状态的转换 I 实例构造 该类操作属函数操作,将返回一个新的对象实例OID 该类操作又可细分为两类: 原始构造:通过创建函数创建特定类型的新实例 例: matrix$create(i) 一般构造:通过执行某些计算而创建新实例。即新实例是对老实例的运算过程中产生的 例:矩阵对象的转置而产生一个新的转置矩阵 :零件的组装而产生一个新的组件对象实例 :商品的拆分销售产生n个其他商品对象 等等 II 对象状态查询 该类操作称为观测函数observer function,它返回一个相应对象的内部状态 例. matrix.elem(I,j)----返回一个矩阵中I,j值 Inorigin(vertex)----查询某点是否为原点 I, II 类操作均不会造成DB状态的不一致性 III 转换操作 Mutators 该类操作是一个过程,它将按照参数内容改变被激活的对象的内部状态 例: 矩阵相加m1.add(m2) III类操作会改变DB的状态,因此,设计该类操作时必须考虑DB的一致性状态的维护问题 对象类型可以按状态是否能改变而分为: 可转换的对象类型----至少包含一个转换操作 不可转换的操作类型 $8.2类型相关操作 一个类型相关操作的定义分为两部分: 操作说明:定义了操作的接口的抽象特征 操作定义:提供了操作实现代码 操作说明子句opretion的语法结构 Opretion declare OperationName:parameterTypeList- ResultType [code CodeName] OperationName在一个对象类型里面唯一的标识了一个操作----不同类型间可以有同名操作 parameterTypeList指定了参数的数量,相关顺序和类型----参数表可以为空 Result Type确定了返回结果的类型----若无返回结果,则指定为void [codecodeName]为可选部分,它可以对实现部分的代码重新命名。否则,说明部分和实现部分的操作名要一致 操作定义子句implementation结构 Implementation 操作头部:definecodeName[“(“parameterlist”)”]is 变量段:Variablesection 操作体:OperationBody 在declare子句中说明的每一个操作都必须在定义子句中有相应的代码 操作头部的名字和变量表必须与说明子句中描述的一致 变量段是声明局部变量的名字和类型 操作体是程序段,用begin…end括起来 Persistent type Vertex is public… body [x,y,z:float;] operations declare translate:Vertex-void; declare scale: Vertex-void; declare rotate: float,char-void; declare distance: Vertex-float; declare inOrigin:-bool; … implementation define translate(t)is begin self.x:=self.x+t.x; self.y:=self.y+t.y; self.z:=self.z+t.z; end define translate; … end type Vertex; 类型相关操作的调用 类型相关操作只能由该类型的“接受者对象”(receiver object)来调用 接受者对象与操作名间用”.”来分隔 执行时,由变量引用(或复引用)的对象实例作为接受者对象来激活由“.”引用的操作 例 var myVertex: Vertex;

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档