阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。【说明】某绘图系统存在point、line、square三种图元,它们具有Shape接口,图元的类图关系如图13-12所示。现要将circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle不是由 Shape派生而来的,它提供的接口不能被系统直接使用。代码13-2既使用了XCircle又遵循了Shape规定的接口,既避免了从头开发一个新的Circle类,又可以不修改绘图系统中已经定义的接口。代码13-3根据用户指定的参数生成特定的图元实例,并对之进行显示操作。绘图系统定义的接口与XCircle提供的显示接口及其功能如表13-5所示。【代码13-2】class Circle (1) {private (2) pxc;public Circle(){pxc=new (3);}public void display(){pxc. (4);}}【代码13-3】public class Factory{public (5) getShape Instance(int tyoe){ //生成特定类实例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}}};public class App{public static viod main(String argv[]){if(argv. length!=1){system. out. println("error parameters!");Return;}int type=(new Integer(argv[0])). intValue();Factory factory=new Factory();shape s;s=factory. (6);if(s==null){system.out. println("Error get instance!");Return;}s.display();return;}}

阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。

【说明】

某绘图系统存在point、line、square三种图元,它们具有Shape接口,图元的类图关系如图13-12所示。现要将circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle不是由 Shape派生而来的,它提供的接口不能被系统直接使用。代码13-2既使用了XCircle又遵循了Shape规定的接口,既避免了从头开发一个新的Circle类,又可以不修改绘图系统中已经定义的接口。代码13-3根据用户指定的参数生成特定的图元实例,并对之进行显示操作。绘图系统定义的接口与XCircle提供的显示接口及其功能如表13-5所示。

【代码13-2】

class Circle (1) {

private (2) pxc;

public Circle(){

pxc=new (3);

}

public void display(){

pxc. (4);

}

}

【代码13-3】

public class Factory{

public (5) getShape Instance(int tyoe){ //生成特定类实例

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

}

}

};

public class App{

public static viod main(String argv[]){

if(argv. length!=1){

system. out. println("error parameters!");

Return;

}

int type=(new Integer(argv[0])). intValue();

Factory factory=new Factory();

shape s;

s=factory. (6);

if(s==null){

system.out. println("Error get instance!");

Return;

}

s.display();

return;

}

}


相关考题:

阅读以下关于某绘图系统的技术说明、部分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;}

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。command模式的类图如图6-1所示。【Java代码】}

试题三(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某绘图系统存在Point、Line、Square三种图元,它们具有Shape接口,图元的类图关系如图5-1所示。现要将Circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle不是由Shape派生而来,它提供的接口不能被系统直接使用。代码5-1既使用了XCircle又遵循了Shape规定的接口,既避免了从头,开发一个新的Circle类,又可以不修改绘图系统中已经定义的接口。代码5-2根据用户指定的参数生成特定的图元实例,并对之进行显示操作。绘图系统定义的接口与XCircle提供的显示接口及其功能如下表所示:【代码5-1】class Circle:public (1) {pfivme:(2) m_circle;public:void display(){m_circle. (3);}};【代码5-2】class Factory{public:(4) getShapeInstance (int type){ //生成特定类实例switch (type){case 0:rcturn new Point;Case l:return new Rectangle;case 2: return new Line;case 3: return new Circle;default: return NULL;} void main (int argo, char *argv[]) {if (argc!=2) {cout << "error parameters !" << endl; return; inttype=atoi (argv[1]) ;Factory factory;Shape *s;s = factory. (5):if (s==NULL) {cout << "Error get the instance !" << endl;return;}s->display () ;(6);return;

阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某绘图系统存在Point、Line、Square三种图元,它们具有Shape接口,图元的类图关系如图6-1所示。现要将Circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle不是由Shape派生而来,它提供的接口不能被系统直接使用。代码6-1既使用了XCircle又遵循了Shape规定的接口,既避免了从头开发一个新的Circle类,又可以不修改绘图系统中已经定义的接口。代码6-2根据用户指定的参数生成特定的图元实例,并对之进行显示操作。绘图系统定义的接口与XCircle提供的显示接口及其功能如下表所示:【代码6-1】class Circle (1) {private (2) pxc;public Circle(){pxc=new (3) ;}public void display(){pxc. (4) ;}}【代码6-2】public class Factory{public (5) 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;}}public class App{public static void main (String argv[] )if (argv. length != l) {System. out.println ("error parameters !");return;}inttype= (new Integer (argv[0])) .intValue (Factory factory = new Factory ( ) ;Shape s;s=factory, (6)if (s==null) {System.out.println ( "Error get instance !" )return;}s.display () ;return;}}

阅读下列说明和C++-代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图5-1所示的类图。【C++代码】 #include using namespace std; class invoice{ public: (1){ cout

阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上 留 下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy) 设 计模式来实现该需求,所设计的类图如图 5-1 所示。

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】 某文件管理系统中定义了类OfficeDoc和DocExplorer,当类OfficeDoc发生变化时,类DocExplorer的所有对象都要更新其自身的状态,现采用观察者(Observer)设计模式来实现该需求,所设计的类图如图6-1所示。

阅读下列说明和?C++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】阅读下列说明和?Java代码,将应填入?(n)?处的字句写在答题纸的对应栏内。【说明】某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。前台服务员?(Waiter)?调度厨师制作套餐。现采用生成器?(Builder)?模式实现制作过程,得到如图?6-1?所示的类图。