软件水平考试

解析:【说明】 某绘图系统定义了一个抽象类Ishape,现有3个类Cpo

来源:网考网软件水平 所有评论

【分析解答题】【说明】 某绘图系统定义了一个抽象类Ishape,现有3个类Cpoint,CLine和Ccircle,它们都具有IShape界面。相应的类图关系如图5-11所示。
已知某第三方库已经提供了XCircle类,且完全满足CCircle图元显示时所需的功能。【VisualBasic代码6-1】是抽象类IShape类模块内容。【VisualBasic代码6-2】实现了类CCircle的IShape界面,并使用了XCircle提供的显示功能。 XCircle提供的显示功能方法接口为displayIt。 【VisualBasic代码6-1】 PublieColorAs Long Sub draw() ’方法体不包括可执行语句End Sub Sub move(stepxAs Single, stepyAs Single) ’方法体不包括可执行语句End Sub 【VisualBasic代码6-2】 {{U}} (1) {{/U}} Private colorAs Long …’其他定义省略 Private ridgedAs{{U}} (2) {{/U}} Private SubClass_Initialize() Set bridged={{U}} (3) {{/U}}End Sub Private Property{{U}} (4) {{/U}} ()As Long IShape_Color=colorEnd Property Private Property{{U}} (5) {{/U}}ByVal newColorAs Long) Color=newColorEnd Property Private Sub IShape_draw()使用XCircle提供的显示功能 {{U}} (6) {{/U}}End Sub Private Sub IShape_move(stepxAs Single, stepyAs Single) …’省略描述End Sub
网考网解析:
试题答案: 答案解析:(1)Implements IShape (2)XCircle (3)New XCircle (4)Get IShape_Color (5)Let IShape_Color (6)bridged. displayIt [要点解析] 这是一道要求考生掌握Visual Basic中面向对象程序设计的试题。本试题的解答思路如下。 在面向对象的程序设计中,类是进行数据封装和数据隐藏的工具。在Visual Basic中与类有关的知识点如表5-17所示。 {{B}}表5-17 Visual Basic中与类有关的知识点{{/B}} 知 识 点 说  明 (1)声明一个对象变量 与声明普通变量的格式基本相同。其格式如下: Dim|Redim|Static|Private|public变量名As类名 (2)为对象变量赋值 用Set语句可以把一个对象赋给一个对象变量。其格式是: Set变量=对象 (3)对象变量的释放 每个对象都使用内存和系统资源,当不再使用这些对象时,应将这些资源及时释放。其格式如下: Set 对象变量名=Nothing (4)向类中添加属性 可以向类中添加公共变量(Public)来定义类的属性。如果向类中添加私有变量(Private),则该变量仅可被该类中的代码所访问,而对外相当于是隐藏的,即面向对象程序设计中的封装原则 (5)向类中添加方法 属性是关于某个对象的数据,而方法是该对象要求去执行的动作。类的方法就是类中的Sub过程和Function过程。对于声明成Public的方法,可以被外部数据访问;而对于声明成Private的方法,则只能被该对象内部的数据所访问。这不仅是封装的一部分,更重要的是,当变更了内部方法时,只要定义成Public:部分的方法不变,则不影响外部程序代码对该对象的访问,即将对象的实现细节隐藏在接口之后 (6)继承 面向对象程序设计的基础之一就是可以从现有对象派生出新的对象,即对象的继承。在Visual Basic中,继承是通过关键字Newr来实现的 (7)接口 接口(也称为抽象类)是一组属性和方法,但不给出实现这些方法的代码。抽象类是一种特殊的类,首先是建立一个类模块,然后在该模块中声明一些予程序,但不实现其代码,这样的类模块可以说是一个抽象类(即接口);然后建立其他的类模块,在这些类模块的声明部分中,使用Implements语句表明该类实现了上述接口,接着即可实现接口代码(也即接口的方法)了,即体现了面向对象程序设计中的多态性原则。实现接口的语句格式如下。 Implements接口名 (8)集合 在Visual Basic中,集合类似于数组,在集合中可以保存各种数据。集合是一个预定义的对象,为了建立一个集合,必须先建立一个Collection类的实例。其格式是: Dim 集合名 As New collection 由表5-17可知,在Visual Basic中,抽象类模块只包含属性和方法的定义,而不包括任何可执行代码。本试题所定义的抽象类Ishape中,定义了一个属性color、两个方法draw和move。在实现该接口时,需要在有Ishape接口的类模块的说明段中添加一个关键字“Implements”,因此(1)空缺处应填入“Implements IShape”。 根据题干中“【Visual Basic代码6-2】实现了类CCircle的IShape界面,并使用了XCircle提供的显示功能。XCircle提供的显示功能方法接口为displayIt。”的说明信息可知,若类CCircle中要使用XCircle提供的显示功能,则需声明XCircle的实例变量并生成和引用实例对象,因此(2)空缺处应填入“XCircle”,(3)空缺处填入“New XCircle”,(6)空缺处填入“bridged. displayIt”。 由语句“IShape_Color=color”可知,(4)空缺处所在的Property过程使IShape_Color取得CCircle的私有数据成员color的值,因此(4)空缺处应填入“Get IShape_Color”。 同理,由语句“color=newColor”可知,(5)空缺处所在的Property过程使CCircle的私有数据成员color取得外部设置的newColor值,因此(5)空缺处应填入“Let IShape_Color”。 document.getElementById("warp").style.display="none"; document.getElementById("content").style.display="block"; 查看试题解析出处>>

相关推荐

发布评论 查看全部评论