首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和Java代码,将应填入(n)处的字句写上。 [说明] 现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显示display()。 需要新增图形Circle,又已知有
阅读以下函数说明和Java代码,将应填入(n)处的字句写上。 [说明] 现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显示display()。 需要新增图形Circle,又已知有
admin
2010-12-17
63
问题
阅读以下函数说明和Java代码,将应填入(n)处的字句写上。
[说明]
现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显示display()。
需要新增图形Circle,又已知有类XXCircle实现了所需要实现的功能:显示displayIt()。为了继承自shape以提供统一接口,又不希望从头开发代码,希望使用XXCircle。这样将XXCircle作为Circle的一个属性,即Circle的对象包含一个XXCircle对象。当一个Circle对象被实例化时,它必须实例化一个相应的XXCircle对象;当Circle对象收到的做任何事的请求都将转发给这个XXCircle对象。通过这种称为Adapter模式,Circle对象就可以通过“让XXCircle做实际工作”来表现自己的行为了。图7-1显示了各个类间的关系。以下是JAVA语言实现,能够正确编译通过。
[图7-1]
[Java代码]
//Shape.java文件
public interface Shape{
public (1) void display();
}
//XXCircle.jave文件
public class XXCircle{
public void displayIt(){
//省略具体实现
}
}
//Circle.java文件
public class Circle (2) Shape{
private XXCircle pcx=(3);
public void display(){
pcx.displayIt();
}
}
//Factory.java文件
public class Factory{
public (4) getShapeInstance(int type){
switch(type){
case 1:return new Line();
case 2:return new Square();
case 3:return new Circle();
default:return null;
}
}
}
//Main.java文件
public class Main{
public static void main(String[]args){
int type=1;
Factory factory=new Factory();
Shape s;
s=factory. (5);
if(s==null){
System.out.println("Error get the instance!");
return;
}
s.display();
return;
}
}
(5)
选项
答案
getShapeInstance(type)
解析
Shape是接口,其中的方法都是抽象方法,故空(1)应填abstract。
shape是接口,故空(2)应填implements,表示实现某个接口。
初始化一个XXCircle实例,空(3)应填new XXCircle()。
方法getShapeInstance(int type)的返回值有new Line()、new Square()以及new Circle(),参照类的层次结构,可得空(4)应填Shape。
Factory类仅定义了一个方法getShapelnstance,而此处语义正是取得一个形状进行显示,故空(5)应填getShapelnstance(type)。
转载请注明原文地址:https://www.kaotiyun.com/show/xvDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
给定包含n个正整数的数组A和正整数x,要判断数组A中是否存在两个元素之和等于x。先用插入排序算法对数组A进行排序,再用以下过程P来判断是否存在两个元素之和等于x。low=l;high=n;while(high>low)ifA[low]+A[hig
给定包含n个正整数的数组A和正整数x,要判断数组A中是否存在两个元素之和等于x。先用插入排序算法对数组A进行排序,再用以下过程P来判断是否存在两个元素之和等于x。low=l;high=n;while(high>low)ifA[low]+A[hig
某模块内涉及多个功能,这些功能必须以特定的次序执行,则该模块的内聚类型为______内聚。
在字长为16位、32位、64位或128位的计算机中,字长为______位的计算机数据运算精度最高。
采用IE浏览器访问清华大学校园网主页时,正确的地址格式为______。
某算术表达式用二叉树表示如下,该算术表达式的中缀式为________________,其后缀式为________________。
导致软件缺陷的原因有很多,①~④是可能的原因,其中最主要的原因包括(55)。①软件需求说明书编写的不全面,不完整,不准确,而且经常更改。②软件设计说明书。③软件操作人员的水平。④开发人员不能很好的理解需求说明书和沟通不足。
GB17859-1999《计算机信息系统安全保护等级划分准则》中将计算机安全保护划分为(53)个级别。
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
随机试题
下列关于学习型组织特征的描述中,不正确的是()
频谱多普勒不能测量的指标是
在计算个别资金成本时,需要考虑所得税抵减作用的筹资方式有()。
电离辐射的防护分为外照射防护和内照射防护,其内照射防护的基本方法有()。
苏轼评价王维“诗中有画,画中有诗”,这一思维过程属于()。
邻里之间感情比较冷淡。社区组织敲门日。能否真地实施成功,为什么?
泰山在我国传统文化中具有特殊的意义,下列对泰山的相关描述错误的是()。
下列说法中,正确的是()。
以下选项中不能作为C语言合法常量的是
人民币升值(appreciationoftheRMB)意味着相对于其他货币而言,人民币的购买力(purchasingpower)增强。人民币升值既有来自中国经济内部动力的原因,也有主要来自于日本和美国的外部压力。人民币升值对中国经济的发展和人民的生
最新回复
(
0
)