面向对象数据库答案.pptx

上传人:莉*** 文档编号:74459872 上传时间:2023-02-26 格式:PPTX 页数:25 大小:117.05KB
返回 下载 相关 举报
面向对象数据库答案.pptx_第1页
第1页 / 共25页
面向对象数据库答案.pptx_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《面向对象数据库答案.pptx》由会员分享,可在线阅读,更多相关《面向对象数据库答案.pptx(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、会计学1面向对象数据库答案面向对象数据库答案第一次作业第一次作业n n7.27.2解:第三句有问题,左边为解:第三句有问题,左边为stringstring类型,右边是类型,右边是CityCity类型。类型。CityOfLA.name:=cityOfLA.mayor.spouse.livesIn;CityOfLA.name:=cityOfLA.mayor.spouse.livesIn;第1页/共25页第一次作业第一次作业n n7.47.4解:前一种的输出结果为:解:前一种的输出结果为:Donald DuckDonald DuckMickey MouseMickey Mouse后一种的输出结果为:

2、后一种的输出结果为:60606060因为前一种是引用语义,而后一种是复制语义。因为前一种是引用语义,而后一种是复制语义。第2页/共25页第一次作业第一次作业n n7.97.9解:解:(1),(2)(1),(2)从引用语义考虑,从引用语义考虑,(3),(4)(3),(4)从复制语义考从复制语义考虑。虑。(1)(2)(1)(2)执行完毕后,执行完毕后,mary.chilarenmary.chilaren=joe.children=joe.children=littleJoe=littleJoe第3页/共25页第一次作业第一次作业n n7.97.9解:解:(3)(4)(3)(4)执行完毕后,执行完毕

3、后,betty.children=jimbo,betty.children=jimbo,jim.children=jim.children=。第4页/共25页第二次作业第二次作业n n8.88.8解:解:surface:surface:计算表面积。计算表面积。scale:scale:按比例放大按比例放大/缩小缩小CuboidCuboid的尺寸。的尺寸。center:center:返回返回CuboidCuboid的中心坐标。的中心坐标。diagonal:diagonal:计算对角线长度。计算对角线长度。minDistance:minDistance:计算计算VectorVector参数到参数到C

4、uboidCuboid的最短距的最短距离。离。第5页/共25页第二次作业第二次作业n n8.88.8解:解:persistent type Cuboid ispersistent type Cuboid ispublic length,width,height,surface,volume,weight,translate,scale,public length,width,height,surface,volume,weight,translate,scale,rotate,certer,rotate,certer,diagonal,minDistance;diagonal,minDista

5、nce;body v1,v2,v3,v4,v5,v6,v7,v8:Vetex;mat:Material;value:float;body v1,v2,v3,v4,v5,v6,v7,v8:Vetex;mat:Material;value:float;operationsoperations declare surface:declare surface:float;float;declare scale:Vertex declare scale:Vertex void void code scaleCuboid;code scaleCuboid;declare center:declare ce

6、nter:Vertex;Vertex;declare diagonal:declare diagonal:float;float;declare minDistance:Vertex declare minDistance:Vertex float float code minDistanceCode;code minDistanceCode;第6页/共25页第二次作业第二次作业n n8.88.8解:解:implementationimplementationdefine surface isdefine surface isreturn 2.0*(self.length*self.width

7、+return 2.0*(self.length*self.width+self.length*self.height self.length*self.height+self.width*self.height);+self.width*self.height);define scaleCuboid(s)is define scaleCuboid(s)is begin begin self.v1.scale(s);self.v1.scale(s);self.v8.scale(s);self.v8.scale(s);end define scaleCuboid;end define scale

8、Cuboid;第7页/共25页第二次作业第二次作业n n8.88.8解:解:define center isdefine center is var c:Vertex;var c:Vertex;begin beginc.create;c.create;c.x=0.5*(self.v1.x+self.v7.x);c.x=0.5*(self.v1.x+self.v7.x);c.y=0.5*(self.v1.y+self.v7.y);c.y=0.5*(self.v1.y+self.v7.y);c.z=0.5*(self.v1.z+self.v7.z);c.z=0.5*(self.v1.z+self.

9、v7.z);return c;return c;end define certer;end define certer;define diagonal isdefine diagonal isreturn self.v1.distance(self.v7);return self.v1.distance(self.v7);第8页/共25页第二次作业第二次作业n n8.88.8解:解:define minDistanceCode(v)isdefine minDistanceCode(v)is var v0;var v0;begin begin/将长方体的将长方体的6 6个面无限延伸,可将整个空间

10、分为个面无限延伸,可将整个空间分为2727个区域个区域if(vif(v在长方体内部或表面上在长方体内部或表面上)return 0;return 0;else beginelse begin 根据根据v v所在区域,可简单判断出长方体上距所在区域,可简单判断出长方体上距v v最近的点最近的点v0v0所在所在 的面的面/棱棱/顶点,顶点,进而求出进而求出v0;v0;return v.distance(v0);return v.distance(v0);end elseend elseend deine minDistanceCode;end deine minDistanceCode;end ty

11、pe Cuboid;end type Cuboid;第9页/共25页第二次作业第二次作业n n9.19.1解:解:(1 1)方法一采用)方法一采用1:11:1关系表示关系表示1:N1:N关系,存在较多冗余;关系,存在较多冗余;不考虑索引,已知不考虑索引,已知leftleft查询对应的查询对应的rightright集时,方法二效果明显好于方法一;已知集时,方法二效果明显好于方法一;已知rightright查查询对应的询对应的leftleft时,方法一效果好于方法二。时,方法一效果好于方法二。当插入新关系当插入新关系时,两种方法都无法保证一致性,即原关系时,两种方法都无法保证一致性,即原关系1:N

12、1:N的语义约束可能被的语义约束可能被违反,需要对违反,需要对insertinsert操作做修改,保证每一个操作做修改,保证每一个TrightTright实例仅有至多一个对应的实例仅有至多一个对应的TleftTleft实例。实例。删除关系删除关系时,方法一中直接删除对应的时,方法一中直接删除对应的TRTR实例,方法二中只需修改实例,方法二中只需修改rightright集合,集合,直到直到rightright集合为空时,才需要删除对应的集合为空时,才需要删除对应的TRTR实例。实例。更新操作由插入删除操作组合而成,不再讨论。更新操作由插入删除操作组合而成,不再讨论。(2 2)方法一、二的)方法一

13、、二的insertinsert操作均需修改,以保证一致性,方法二的操作均需修改,以保证一致性,方法二的deletedelete操作也需要修改。修操作也需要修改。修改思想上边已说明,具体算法不再给出。改思想上边已说明,具体算法不再给出。第10页/共25页第二次作业第二次作业n n9.79.7解:解:在对象内部使用计数器在对象内部使用计数器对于专用对象,生成实例,置为对于专用对象,生成实例,置为1 1,被引用,置为,被引用,置为0 0;对于依赖对象,引用对于依赖对象,引用+1+1,不再引用,不再引用-1-1,为,为0 0时删除对象。时删除对象。第11页/共25页第三次作业第三次作业 10.510.

14、5解:解:n n合法的重定义要求:合法的重定义要求:n n操作名不变,参数个数不变;操作名不变,参数个数不变;n n操作的接受者类型是原操作中接受者类型的子类;操作的接受者类型是原操作中接受者类型的子类;n n操作的返回值类型是原操作返回值的子类;操作的返回值类型是原操作返回值的子类;n n操作的参数类型是原操作参数类型的超类。操作的参数类型是原操作参数类型的超类。n n题中的重定义仅满足(题中的重定义仅满足(1 1)()(2 2)()(3 3),但违反(),但违反(4 4)。)。ConicalPipeConicalPipe是是PipePipe的子类而非超类,的子类而非超类,故不合法。故不合法

15、。n n考虑程序段:考虑程序段:n nvar aPipe,anotherPipe:Pipe;var aPipe,anotherPipe:Pipe;n naConicalPipe:ConicalPipe;aConicalPipe:ConicalPipe;n nanotherPipe:=aConicalPipe;/anotherPipe:=aConicalPipe;/可替换性,合法可替换性,合法n nanotherPipe.connect(aPipe);/anotherPipe.connect(aPipe);/编译通过,执行时动态绑定错误。编译通过,执行时动态绑定错误。第12页/共25页第三次作业

16、第三次作业 10.610.6解:继承属性的类型是不能重定义的,必须保持原类型。解:继承属性的类型是不能重定义的,必须保持原类型。(1)(1)子类中继承属性的类型不能是该类型的子类,即特化不合法。子类中继承属性的类型不能是该类型的子类,即特化不合法。特化举例:特化举例:type Person istype Person isbody name:string;body name:string;age:int;age:int;type Employee supertype Person istype Employee supertype Person isbody boss:Employee;bod

17、y boss:Employee;type Manager supertype Employee istype Manager supertype Employee isbody refine boss:Manager;body refine boss:Manager;第13页/共25页第三次作业第三次作业 10.610.6解:解:程序段:程序段:var anEmp:Employee;var anEmp:Employee;aMgr:Manager;aMgr:Manager;aMgr.boss:=anEmp;/aMgr.boss:=anEmp;/语法错误语法错误anEmp.boss:=aMgr;/

18、anEmp.boss:=aMgr;/可替换性,合法可替换性,合法anEmp.boss.boss:=anEmp;/anEmp.boss.boss:=anEmp;/语法检查合法,但有潜在问题语法检查合法,但有潜在问题 (2)(2)子类中继承属性的类型不能是该类型的超类,即泛化不合法。子类中继承属性的类型不能是该类型的超类,即泛化不合法。PersonPerson和和EmployeeEmployee的类型定义同上,的类型定义同上,ManagerManager类型定义如下:类型定义如下:type Manager supertype Employee istype Manager supertype Em

19、ployee is body refine boss:Person;body refine boss:Person;程序段:程序段:var aPerson:Person;var aPerson:Person;anEmp:Employee;anEmp:Employee;aMgr:Manager;aMgr:Manager;anEmp.boss:=anEmp;/anEmp.boss:=anEmp;/合法合法aMgr.boss:=anEmp;/aMgr.boss:=anEmp;/可替换性,合法可替换性,合法aMgr.boss.boss:=anEmp;/aMgr.boss.boss:=anEmp;/语法

20、错误语法错误 第14页/共25页第三次作业第三次作业n n10.1110.11解:略解:略第15页/共25页第三次作业第三次作业n n12.312.3解:解:(1)(1)Polymorph declare member(ListType=):Polymorph declare member(ListType=):ListType|ElemType ListType|ElemType bool;bool;define member(t)isdefine member(t)is var item:ElemType;var item:ElemType;begin begin foreach(item

21、 in self)foreach(item in self)if(item=t)if(item=t)return true;return true;return false;return false;end define member;end define member;第16页/共25页第三次作业第三次作业n n12.312.3解:解:(2)(2)Polymorph declare nthmember(ListType=):Polymorph declare nthmember(ListType=):ListType|int ListType|int ElemType;ElemType;de

22、fine nthmember(n)isdefine nthmember(n)is var i:int;var i:int;item:ElemType;item:ElemType;Begin Beginif(n self.length|n self.length|n 1)return null;return null;i:=0;i:=0;foreach(item in self)foreach(item in self)begin begini+;i+;if(i=n)return item;if(i=n)return item;endfor endfor end define nthmember

23、;end define nthmember;第17页/共25页第三次作业第三次作业n n12.312.3解:解:(3)(3)Polymorph declare substitute(ListType=):Polymorph declare substitute(ListType=):ListType|ElemType,ElemType ListType|ElemType,ElemType void;void;define substitute(old,new)is define substitute(old,new)isvar item:ElemType;var item:ElemType;b

24、eginbegin foreach(item in self)foreach(item in self)begin begin if(item=old)if(item=old)begin begin self.delete(old);self.delete(old);self.insert(new);self.insert(new);endif endif endfor endforend define substitute;end define substitute;第18页/共25页第三次作业第三次作业n n12.312.3解:解:(4)(4)Polymorph declare subli

25、st(ListType=):Polymorph declare sublist(ListType=):ListType|int,int ListType|int,int ListType;ListType;define sublist(m,n)is define sublist(m,n)isvar newlist:ListType;var newlist:ListType;item:ElemType;item:ElemType;i:int;i:int;beginbegin i:=0;i:=0;if(i=1&i=k&k=1&i=k&k=m&i=m&i e.worksin.mgr.salary;w

26、here e.salary e.worksin.mgr.salary;第21页/共25页第四次作业第四次作业n n14.914.9解:解:Retrieve all Managers of the R&D department(s),who supervise Emps located Retrieve all Managers of the R&D department(s),who supervise Emps located in the Building called“E1”.in the Building called“E1”.select mselect mfrom m in Man

27、ager,e in EMPfrom m in Manager,e in EMPwhere m=e.worksin.mgrwhere m=e.worksin.mgr and m.worksin.name=R&D and m.worksin.name=R&D and e.office.building =E1;and e.office.building =E1;第22页/共25页第四次作业第四次作业n n18.118.1解:解:schema C is subsschema F;subsschema G;end schema C;schema E is subsschema H;subsschema

28、 I;end schema E;schema A is subsschema B;subsschema C;end schema A;schema B is subsschema D;subsschema E;end schema B;第23页/共25页第四次作业第四次作业n n18.218.2解:解:schema B isschema B ispublic Spublic Sinterfaceinterfacetype S is;type S is;implementationimplementationtype T is;type T is;end schema B;end schema B;第24页/共25页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁