阅读以下关于某绘图系统的技术说明、部分UML类图及Visual Basic程序,将Visual Basic程序中(1)~(6)空缺处的语句填写完整。 【说明】 某绘图系统定义了一个抽象类Ishape,现有3个类Cpoint,CLine和Ccir

admin2009-02-15  51

问题 阅读以下关于某绘图系统的技术说明、部分UML类图及Visual Basic程序,将Visual Basic程序中(1)~(6)空缺处的语句填写完整。
   【说明】
   某绘图系统定义了一个抽象类Ishape,现有3个类Cpoint,CLine和Ccircle,它们都具有IShape界面。相应的类图关系如图5-11所示。
                                               
   已知某第三方库已经提供了XCircle类,且完全满足CCircle图元显示时所需的功能。【Visual Basic代码6-1】是抽象类IShape类模块内容。【Visual Basic代码6-2】实现了类CCircle的IShape界面,并使用了XCircle提供的显示功能。
   XCircle提供的显示功能方法接口为displayIt。
   【Visual Basic代码6-1】
   Publie Color As Long
   Sub draw()
         ’方法体不包括可执行语句
   End Sub
   Sub move(stepx As Single, stepy As Single)
         ’方法体不包括可执行语句
   End Sub
   【Visual Basic代码6-2】
     (1)  
   Private color As Long
   …    ’其他定义省略
   Private ridged As  (2)  
   Private Sub Class_Initialize()
     Set bridged=(3)  
   End Sub
   Private Property  (4)   ()As Long
     IShape_Color=color
   End Property
   Private Property  (5)   (ByVal newColor As Long)
     Color=newColor
   End Property
   Private Sub IShape_draw()    使用XCircle提供的显示功能
       (6)  
   End Sub
   Private Sub IShape_move(stepx As Single, stepy As 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所示。

由表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”。
转载请注明原文地址:https://jikaoti.com/ti/HvW7FFFM
0

最新回复(0)