首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和Java代码,填补Java代码中的空缺(1)~(6),将解答写在对应栏内。 [说明] 已知对某几何图形绘制工具进行类建模的结果如图6-1所示,其中Shape为抽象(abstract)类,表示通用图形,Box(矩形)、Ellipse
阅读以下说明和Java代码,填补Java代码中的空缺(1)~(6),将解答写在对应栏内。 [说明] 已知对某几何图形绘制工具进行类建模的结果如图6-1所示,其中Shape为抽象(abstract)类,表示通用图形,Box(矩形)、Ellipse
admin
2012-01-13
28
问题
阅读以下说明和Java代码,填补Java代码中的空缺(1)~(6),将解答写在对应栏内。
[说明]
已知对某几何图形绘制工具进行类建模的结果如图6-1所示,其中Shape为抽象(abstract)类,表示通用图形,Box(矩形)、Ellipse(椭圆)和Line(线条)继承(extends)了Shape类,其中,Circle表示圆(即特殊的椭圆)。
下面的Java代码用于实现图6-1所给出的设计思路,将其空缺处填充完整并编译运行,输出结果为:
Ellipse
Circle
Ellipse
C
E
[Java代码]
(1) class Shape{
public Shape(String name){
this.name=name;
}
(2) void paint();
String getName(){
return this.name;
}
final String name;
};
//Box和Line类似下面Ellipse,其代码略
class Ellipse (3) {
publiC Ellipse(String name){
super(name);
System.out.println("Ellipse");
}
void paint(){ //绘制现状示意代码
System.out.println(getName());
}
};
class Circle (4) {
public Circle(String name){
super(name);
System.out.println("Circle");
}
};
class Diagram{
private Shape shapes[]=new Shape[2];
public void drawAShape(Shape shape){
shape.paint();
}
void eraseAShape(Shape shape){
//删除形状,代码略
}
void drawShapes(){
shapes[0]=new Circle("C");
shapes[1]=new Ellipse("E");
for(int i=0; i<2; ++i) {
drawAShap(shapes
); //绘制形状
}
}
void close(){
for(int i=0; i<2; ++i) { //关闭图,删除所绘制图形
(5) ;
}
}
public static void main(String[] args) {
Diagram diagram= (6) ;
diagram.drawShapes();
diagram.close();
}
}
选项
答案
abstract或public abstract abstract或public abstract或protected abstract extends Shape extends Ellipse eraseAShape(shapes[i]) new Diagram()
解析
本题考查Java语言程序设计的能力,涉及类和抽象类、对象、方法和抽象方法的定义和相关操作,以及继承关系。要求考生根据给出的案例和执行过程说明,认真阅读理清程序思路,然后完成题目。
先考查类图整体结构。本题中根据类图定义了类:Diagram、Shape、Box、Ellipse、Line和Circle。其中Shape为抽象类,表示通用图形,抽象类中应至少包含一个抽象(abstract)方法。Box表示矩形,Ellipse表示椭圆,Line表示线条,三者都是Shape的子类,继承了Shape类,Circle表示圆(即特殊的椭圆),继承了Ellipse。
抽象类Shape的定义中,需要通过使用abstract标识抽象方法,方法void paint();没有实现体,表示paint()是抽象方法,其定义前必须添加abstract进行表示。类Ellipse为Shape的子类,Circle为Ellipse的子类,需要在代码中体现出继承。另外,在子类的构造方法中,需调用父类的构造方法,而在父类中没有不带参数的构造方法,必须使用super关键字显式地进行调用。在Java中,继承的语法为extends后加类名。
类Diagram中没有定义构造方法,编译器生成一个缺省的构造方法,调用时采用new关键字加缺省构造器方法。
因此空(1)和(2)需要表现出Shape为抽象类,paint()方法为抽象方法,即为abstract;和(3)处添加继承父类Shape,即extends Shape;空(4)处补充继承父类Ellipse,即extends Ellipse;空(5)处删除图形,即eraseAShape(shapes
),调用空(6)通过使用编译器生成的缺省构造方法创建对象,即new Diagram()。
转载请注明原文地址:https://jikaoti.com/ti/E5W7FFFM
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
为向相关人员以可视化方式展示数据分析结果,首先需要明确目标受众(即需要给哪些人看),并了解他们考虑的一些问题。这些问题一般不包括(69)________________。
西部某省考试机构工作人员统计了去年下半年三个地区四种资格的报考人数,将统计表抄录如下(其中有一个数据抄错了): 信息处理技术员小王很快就找出了错误的数据,并进行了纠正。错误的数据是(32),该数据应纠正为(33)。32.
___________接口是目前微机上最流行的I/O接口,具有支持热插拔、连接灵活、独立供电等优点,可以连接常见的鼠标、键盘、打印机、扫描仪、摄像头、充电器、闪存盘、MP3机、手机、数码相机、移动硬盘、外置光驱、Modem等几乎所有的外部设备。
在Windows XP中,文件名中不允许出现的字符是(32)。
在Excel“单元格格式”对话框的“对齐”选项卡中,“垂直对齐”选项中不包括(56)。
数据分析报告的质量要求中不包括()。
回收的问卷调查表中,很多表都有一些没有填写的项。处理缺失值的办法有多种,需要根据实际情况选择使用。对于一般性的缺值项,最常用的有效方法是(66)。
在WindowsXP中,删除某个应用程序在桌面上的快捷方式,则(42)。
某大型企业下属每个事业部都自行建立了信息系统,各自存储数据,各自配备了技术人员维护系统。由于数据格式不同,难以交流,各系统难以连接,形成了一个个信息孤岛,业务难以协同。为此,公司采取了以下一些整合措施,其中(70)并不恰当。
以下(1)属于ASP.NET创建的网页程序文件。(1)A.index.aspB.index.htmC.index.aspxrs.close语句的作用是(10)。(10)A.关闭数据库连接B.关闭当前网页
随机试题
手术治疗急性血源性骨髓炎的方法有_____和_____。
患者,女性,32岁,不慎被机器将长发辫卷入造成大块头皮撕脱。最恰当的救治步骤是
量子数为n=3,l=1时,则该层原子轨道上可允许容纳的最多电子数是()。
环境管理体系的运行过程,实现对管理评审中提出的问题进行不断的改进是指()。
一般而言,确定坏账损失的主要标准为()。
甲和乙出资设立一有限责任公司,公司章程未对股权转让作出规定。甲拟将所持公司股权转让给丙,并签署了股权转让协议。关于本次股权转让,根据公司法律制度的规定,下列表述中,正确的是()。
下列各项建筑物中,不属于房产税征税范围的有()。
以妄想和幻觉为主要特征的精神分裂症主要是()。
作品《__________》的构图不拘常规,人物被安排在一片森林之中,中间是维纳斯,右边是撒花的花神,左边是三美神,三美神的动态和衣褶线条充分体现出波提切利所擅长的线条的节奏感。
A、Both,too.B、Volleyball.C、Neither.C
最新回复
(
0
)