阅读以下关于某绘图系统的技术说明、部分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题:
阅读以下关于某订单管理系统的技术说明、部分UML类图及Java程序,将Java程序中(1)~(5)空缺处的语句填写完整。
[说明]
某订单管理系统的部分UML类图如图5-16所示。
在图5-16中,Product表示产品,ProductList表示所销售产品的列表,Order表示产品订单,Orderltem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。各个类的部分属性和方法说明如表5-23所示。
可以使用类java.util.ArrayList<E>来实现对象的聚集关系,如图5-16中OrderList与Order之间的聚集关系。
for-each循环提供了一种遍历对象集合的简单方法。在for-each循环中,可以指定需要遍历的对象集合及用来接收集合中每个元素的变量,其语法如下:
for(用来接收集合中元素的变量:需要遍历的对象集合)
如果要使用for-each循环来遍历对象集合,那么包含该对象集合的类必须实现接口java.util.Iterable<T>。
Java程序7-1和Java程序7-2分别给出了类OrderList和方法statistic的Java代码。
第2题:
阅读以下说明和Visual Basic代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某绘图系统定义了一个抽象类IShape,现有三个类CPoint、CLine和CCircle,它们都具有IShape界面。相应的类图关系如图7-1所示。
已知某第三方库已经提供了XCircle类,且完全满足CCircle图元显示时所需的功能。代码7-1是抽象类IShape的类模块内容,代码7-2实现了类CCircle的IShape界面,并使用了XCircle提供的显示功能。
XCimle提供的显示功能方法接口为displayIt。
【代码7-1】
Public Color As Long
Sub draw()
'方法体不包括可执行语句
End Sub
Sub move(stepx As Single,stepy As Smgle)
'方法体不包括可执行语句
End Sub
【代码7-2】
(1)
Private color As Long
… ‘其他定义省略
Private bridged 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 ( ) '使用XCirele提供的显示功能
(6)
End Sub
Private Sub IShape_move (stepx As Single, stepy As Single)
… '省略描述
End Sub
第3题:
VB.NET是指Visual可视化、Basic程序设计语言、.NET框架三者的合成。
第4题:
阅读以下关于某绘图系统的技术说明、部分UML类图及C++程序,将C++程序中(1)~(6)空缺处的语句填写完整。
【说明】
某绘图系统存在Point、Line和Square这三种图元,它们具有Shape接口,图元的类图关系如图5-10所示。
现要将Circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle不是由Shape派生而来,它提供了的接口不被系统直接使用。【C++代码5-1】既使用了XCircle又遵循了Shape规定的接口,即避免了从头开发一个新的Circle类,又可以不修改绘图系统中已经定义的接口。【C++代码5-2】根据用户指定的参数生成特定的图元实例,并对它进行显示操作。
该绘图系统定义的接口与XCircle提供的显示接口及其功能如表5-13所示。
【C++代码5-1】
class Circle: public (1) {
Private;
(2) m_circle;
Public;
void display(){
m_circle. (3)
}
};
【C++代码5-2】
class Factory{
public;
(4) getShapeInstance(int type){ //生成特定类实例
Switch(type){
case 0: return new Point;
case 1: return new Rectangle;
case 2: return new Line;
case 3: return new Circle;
default: return NULL;
}
}
};
void main(int argc, char *argv[]){
if(argc !=2){
cout<<"error parameters!"<<endl;
return;
}
int type=atoi(argv[1]);
Factory factory;
Shape *s;
s=factory.(5);
if(s==NULL){
cout<<"Error get the instance!"<<endl;
return;
}
s->display();
(6);
Return;
}
第5题:
阅读以下关于某订单管理系统的技术说明、部分UML类图及C++代码,将C++程序中(1)~(5)空缺处的语句填写完整。
[说明]
某订单管理系统的部分UML类图如图5-15所示。
图5-15中,Product表示产品,ProductList表示产品目录,Order表示产品订单,Orderltem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。
请完善类Order的成员函数getOrderedAmount()和类SalesSystem的statistic()方法,各个类的属性及部分方法定义参见下面的C++代码。
[C++代码]