欢迎来到天天文库
浏览记录
ID:17493577
大小:393.96 KB
页数:18页
时间:2018-09-02
《计算机水平考试-软件设计师分类模拟题面向对象程序设计(一)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件设计师分类模拟题面向对象程序设计(一) 阅读以下说明和C++代码,将应填入 (n) 处的字句写在对应栏内。 [说明] 某绘图系统存在Point、Line、Square三种图元,它们具有Shape接口,图元的类图关系如图18-1所示。现要将Circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle不是由Shape派生而来的,它提供的接口不能被系统直接使用。代码18.1既使用了XCircle又遵循了Shape
2、规定的接口,既避免了从头开发一个新的Circle类,又可以不修改绘图系统中已经定义的接口。代码18.2根据用户指定的参数生成特定的图元实例,并对之进行显示操作。 绘图系统定义的接口与XCircle提供的显示接口及其功能如表18-1所示。 表18-1显示接口及其功能ShapeXCircle功能display7DisplayIt7显示图元 [代码18.1] classCircle:public 1 { private: 2 m_circle; public: voiddisplay7{ m_
3、circle. 3 ; } }; [代码18.2] classFactory{ public: 4 getShapeInstance(inttype){ //生成特定类实例 switch(type){ case0:returnnewpoint; case1:returnnewRectangle; case2:returnnewline; case3:returnnewCircle; default:returnNULL; } } }; voidmain(intargc,c
4、har*argv[]){ if(argc!=2){ cout<<"errorparameters!"<<end1; return; } inttype=atoi(argv[1]); Factoryfactory; Shape*s; S=factory. 5 ; if(s=NULL){ cout<<"Errorgettheinstance!"<<end1; return; } C->display7; 6 ; return; 阅读以下说明和Java代码,将应填入 (n) 处的
5、字句写在对应栏内。 [说明] 某绘图系统存在Point、Line、Square三种图元,它们具有Shape接口,图元的类图关系如图18-2所示。现要将Circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle不是由Shape派生而来的,它提供的接口不能被系统直接使用。代码18.3既使用了XCircle又遵循了Shape规定的接口,既避免了从头开发一个新的Circle类,又可以不修改绘图系统中已经定义的接口。代码
6、18.4根据用户指定的参数生成特定的图元实例,并对之进行显示操作。 绘图系统定义的接口与XCircle提供的显示接口及其功能如表18-2所示。 表18-2显示接口及其功能ShapeXCircle功能display13DisplayIt13显示图元 [代码18.3] classCircle 7 { private 8 pxc; publicCircle13{ pxc=new 9 ; } publicvoiddisplay13{ pxc 10 ; } } [代码18.4] publ
7、icclassFactory{ public 11 getShapeInstance(inttyoe)( //生成特定类实例 switch(type){ case0:returnnewpoint13; case1:returnnewRectangle13; case2:returnnewline13; Case3:returnnewCircle13; default:retUrnnull } } }; publicClassApp{ publicstatiCviodmain(Stri
8、ngargv[]){ if(argv.length!=1){ system.out.printin ("errorparameters!
9、"); Return; } inttype=(newInteger(argv[0])).intValue13; Factoryfactory=newFactory13; shapes; S=factory. 12 ; if(s==null){ system.
此文档下载收益归作者所有