首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于某绘图系统的技术说明、部分UML类图及Java程序,将Java程序中(1)~(6)空缺处的语句填写完整。 【说明】 某绘图系统存在Point、Line和Square 3种图元,它们具有Shape接口,图元的类图关系如图5-12所示
阅读以下关于某绘图系统的技术说明、部分UML类图及Java程序,将Java程序中(1)~(6)空缺处的语句填写完整。 【说明】 某绘图系统存在Point、Line和Square 3种图元,它们具有Shape接口,图元的类图关系如图5-12所示
admin
2009-02-15
44
问题
阅读以下关于某绘图系统的技术说明、部分UML类图及Java程序,将Java程序中(1)~(6)空缺处的语句填写完整。
【说明】
某绘图系统存在Point、Line和Square 3种图元,它们具有Shape接口,图元的类图关系如图5-12所示。
现要将Circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle不是由Shape派生而来,它提供的接口不被系统直接使用。【Java代码7-1】既使用了XCircle又遵循了Shape规定的接口,即避免了从头开发一个新的Circle类,又可以不修改绘图系统中已经定义的接口。【Java代码7-2】根据用户指定的参数生成特定的图元实例,并对它进行显示操作。
该绘图系统定义的接口与XCircle提供的显示接口及其功能如表5-14所示。
【Java代码7-1】
class Circle (1) {
private (2) pxc;
publiC Circle(){
pxc=new (3);
}
public void dispiay(){
pxc. (4);
}
}
【Java代码7-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 !=1){
System. out. println("error parameters!");
Return;
}
int type=(new Integer(argv[0])). intValue();
Factory factory=new Factory();
Shap s;
s=factory.(6)
if(s==null){
System. out. println("Error get instance!");
Return;
}
s. display();
return;
}
}
选项
答案
(1)implements Shape (2)XCircle (3)Xcircle() (4)displayIt() (5)Shape (6)getShapeInstance(type)
解析
这是一道要求考生掌握Java接口的程序分析题。本试题的解答思路如下。
Java接口是用来实现类问多重继承功能的结构。它定义了若干个抽象方法和常量用以实现多重继承的功能。所谓多重继承,是指一个子类可以同时从多个父类继承其行为与特征的功能。该概念是与单一继承相对而言,单一继承是指一个子类只可以继承自一个父类。
Java语言不支持多重继承只支持单重继承。然而在解决实际问题的程序设计中,仅靠单重继承尚不能解决更复杂的问题。为了使Java程序的类层次结构更加合理,更符合实际问题的需要,就把用于完成特定功能的若干属性组织成相对独立的属性集合。这种属性的集合就称为接口。
定义接口与定义类非常相似。实际上完全可以把接口理解成为一种特殊的类,接口是由常量和抽象方法组成的特殊类。一个类只能由一个父类,但是它可以同时实现若干个接口。这种情况下如果把接口理解成特殊的类,那么这个类利用接口实际上就获得了多个父类,即实现了多重继承。与类定义相仿,声明接口时也需要给出访问控制符,不同的是接口的访问控制符只有public一个。用public修饰的接口是公共接口,可以被所有的类和接口使用,而没有public修饰符的接口则只能被同一个包中的其他类和接口利用。接口也具有继承性。定义一个接口是可以通过extends关键字声明该新接口是某个已经存在的父接口的派生接口,它将继承父接口的所有属性和方法。与类的继承不同的是一个接口可以有一个以上的父接口,它们之间用逗号分隔,形成父接口列表。新接口将继承所有父接口中的属性和方法。
由试题给出的关键信息“某绘图系统存在Point、Line和Square 3种图元,它们具有Shape接口......现要将Circle图元加入此绘图系统以实现功能扩充”可知,Circle图元也具有Shape接口,因此(1)空缺处所填写的内容是“implements Shape”。
由于【Java代码7-1】既使用了XCircle又遵循了Shape规定的接口,即要重用类XCircle而不是从头开发一个新的Circle类,因此,凡是类Circle实现Shape的接口时都调用相应的类XCircle所提供的方法,即(2)空缺处所填写的内容是“Xcircle”。
(3)空缺处所填写的内容是“Xcircle()”,以生成相应的XCircle的一个实例。
(4)空缺处所填写的内容是“displayIt()”,即调用displayIt()来实现Shape接口中的display方法。
仔细阅读【Java代码7-2】可知,(6)空缺处所在的语句通过调用factory对象的方法,而类factory只有一个方法为getShapeInstance,因此(6)空缺处应填入getShapeInstame(type),参数为用户运行程序时指定的参数(即该程序段中的type参数),表明需要生成哪一种类型的对象。
同理,由于s是Shape类型的引用,因此getShapeInstance的返回值类型为Shape,即(5)空缺处所填写的内容是“Shape”。
转载请注明原文地址:https://kaotiyun.com/show/8EjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel中,绝对地址在被复制或移动到其他单元格时,其单元格地址______。
以下关于Excel单元格操作的叙述,(52)是错误的。
以下关于windows7文件名的叙述中,(20)________________是正确的。
数据分析工具的(13)________________特性是指它能导入和导出各种常见格式的数据文件或分析结果。
为在Excel2010的A1单元格中生成一个60到100之间的随机数,则应在A1单元格中输入________________。
抽样调查是收集数据的重要方法之一。抽样调查所遵循的原则不包括______。
在Excel的A1单元格中输入函数“=ROUND(3.1415,2)”,则A1单元格中显示的值为(57)。
在Excel2007中,(43)________________不是计算从A1到A6单元格中数据之和的公式。
在统计学中,用来衡量一个样本中各个数据波动大小的量是______。
数据录入工作有两个指标:录入速度和错误率。一般而言,数据录入员在录入大批数据时,录入速度会(65),错误率会(66)。65
随机试题
在标志、标线齐全的高速公路上行车,应当按照什么规定的车道和车速行驶?
真空泵发热或真空低的原因有可能是()。
个人与社会的关系是
患者,女,57岁,最近因失眠来门诊就医。经医生咨询,病人反映以前没有过失眠现象,近期因工作原因导致压力加大,心理负担过重,白天想睡觉,晚上却无法入睡,每天睡眠不足5h。医生给予患者建议平时要注意多增加运动,缓解压力,并开具了如下处方:地西泮片:5mg×2
在民事诉讼普通程序中,根据有关司法解释,关于举证期限,下列哪一选项是正确的?()
西方经济学者把()理论扩展到土地使用、区位及运输等相关理论上,使之成为土地经济学、城市经济学等学科研究的重要基础。
辅导协议的内容包括()。
有关研究机构证实,从事中成药生产的上市公司天成公司的主打产品含有对人体健康有害的成分。该研究结果被媒体披露后,天成公司的股价大跌,购买其产品的部分消费者和经销商纷纷要求退货,致使其经营陷入危机。上述案例中,天成公司面临的风险属于()。
赵青一定是一位出类拔萃的教练。她调到我们大学执教女排才一年,球队的成绩突飞猛进。以下哪项如果为真,最有可能削弱上述论证?()
Druguseisrisingdramaticallyamongthenation’syouthafteradecadeofdecline.From1993to1994,marijuanauseamongyoung
最新回复
(
0
)