当前位置: 首页 > 计算机 > 问题详情
问题

阅读以下说明和Java代码 将应填入(n)处的字句写在对应栏内。【说明】某绘图系统存在point line square三种图元 它们具有Shape接口 图元的类图关系如图13-12所示。现要将circle图元加

阅读以下说明和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;

}

}

发布时间:2024-05-07
参考答案

正确答案:(1)implements Shape (2)XCircle(3)XCircle() (4)displayIt()(5)Shape (6)getShapeInstance(type)
(1)implements Shape (2)XCircle(3)XCircle() (4)displayIt()(5)Shape (6)getShapeInstance(type) 解析:本题是一个Java程序设计题,它考查的知识点是面向对象中接口方面的知识。接口实际上是一个特殊的类,这个类中的成员函数只有声明部分,没有实现部分。这很类似于一个框架,即框架里没有任何实在的东西。在接口的实现类中才把具体要实现的东西写出来。
在看程序之前,先要看清楚题目的要求。题目要求写一个Circle类,要求这个类具有 Shape接口的特性,而且不想让考生自己动手重新写一个circle类,因为系统中已经有了一个XCircle类,这个类能满足系统的要求。当我们知道题目的要求后,就可以进行分析了。要使Circle具有Shape的特性,则它必须是Shape的实现类,所以第(1)空应填: implements Shape!。但是我们如何利用XCircle类呢?其实代码13-2中零星的一些语句给了我们很大的提示,从这些语句我们可以得知程序声明了一个私有成员,并在构造函数中给它分配了存储空间,即new...。且在display()方法中调用了这一成员的什么方法。分析到这里,问题已经很清楚了,我们可以在Circle类中生成一个.XCircle类的实例,然后在 Circle类的显示图元方法中,调用XCirele类实例的显示图元方法,达到题目的要求,所以 (2)应填:XCircle,(3)应填:XCirele(),(4)应填:displayIt()。
接下来看代码13-3。这里考察的是接口的应用。我们如果了解一条原则,问题就好办了。如果有接口A,A中声明了一个方法run()。它有三个实现类:AA、AB和AC。现在这三个类分别有一个实例为:AA1、AB1和AC1。现在有:A A1。则:A1=AA1,A1= AB1,A1=AC1,A1.run()这些写法都是合法的,而且如果有A1=AA1,则A1.run()调用的是AA1的方法run()。接着我们看代码13-3的(5)空。这一空是定义了方法 getShapeInstance的返回值类型,因为返回值是四种类型的实例,但这些实例的类都实现了接口Shape,所以此空应填:Shape。(6)空调用getShapeInstance()从而生成一个给定类型的实例,调用格式为:getShapelnstance(type)。

相关问题
  • 事务处理系统(TPS)一般有三种处理方法 它们是 (35) 。 (35)A

    事务处理系统(TPS)一般有三种处理方法,它们是 (35) 。(35)A 订单处理、客户处理和供应商处理B 批处理、联机处理和联机输入延迟处理C 数据

    答案解析
  • (3)符合结构化原则的三种基本控制结构是:选择结构 循环结构和

    (3)符合结构化原则的三种基本控制结构是:选择结构、循环结构和 【3】

    答案解析
  • ( 6 )在关系数据库中 基本的关系运算有三种 它们是选择 投

    ( 6 )在关系数据库中,基本的关系运算有三种,它们是选择、投影和 ___________ 。

    答案解析
  • E-R图中包括三种基本图素。其中“菱形框”表示________。

    E-R图中包括三种基本图素。其中“菱形框”表示________。

    答案解析
  • 常用的数据备份方式包括完全备份 增量备份和差异备份 三种方法

    常用的数据备份方式包括完全备份、增量备份和差异备份,三种方法在数据恢复速度方面由快到慢的顺序为( )。A)安全备份、增量备份、差异备份B)完全备份、

    答案解析
  • EAI 从集成的深度上来说有三种:①应用系统集成 ②数据集成 ③

    EAI 从集成的深度上来说有三种:①应用系统集成,②数据集成,③业务流程集成,从易到难的顺序是 (32) 。A ①②③ B ③②① C ②①③ D ①③②

    答案解析
  • 设置窗口 对话框等界面的外观 可以改变()A.字体B.大小C.颜色D.

    设置窗口、对话框等界面的外观,可以改变()A 字体B 大小C 颜色D 以上三种

    答案解析
  • 屏幕区域设置有小 中 大三种。小的是______。A.500像素×700像

    屏幕区域设置有小、中、大三种。小的是______。A 500像素×700像素B 800像素×600像素C 1024像素×768像素D 640像素×480像素

    答案解析
  • 请选出交换机处理帧的三种模式:()A.直通模式B.存储转发模式C.侦

    请选出交换机处理帧的三种模式:()A 直通模式B 存储转发模式C 侦测模式D 分段模式E 阻塞模式

    答案解析
  • Linux三种特殊权限中仅用于目录文件的权限是()A.SUIDB.SGIDC.黏

    Linux三种特殊权限中仅用于目录文件的权限是()A SUIDB SGIDC 黏滞位D 都可以

    答案解析

最新问题

Copyright © 2016-2023 114题库网(114158.com)All Rights Reserved.  免责声明 豫ICP备19007809号-5