阅读以下函数说明和JaVa代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一+Shape类(接口),有方法显示display()。需要新增图形Circle,又已知有类XXCir

admin2014-10-11  56

问题 阅读以下函数说明和JaVa代码,将应填入(n)处的字句写在答题纸对应栏内。
【说明】
现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一+Shape类(接口),有方法显示display()。需要新增图形Circle,又已知有类XXCircle实现了所需要实现的功能:显示displayIt()。为了继承自Shape以提供统一接口,又不希望从头开发代码,希望使用xxCircle。这样将XxCircle作为Circle的一个属性,即Circle的对象包含一个xxCircle对象。当一个Circle对象被实例化时,它必须实例化一个相应的XXCnle对象;当Circle对象收到的做任何事的请求都将转发给这个xXCircle对象。通过这种称为Adapter模式,Circle对象就可以通过“让xxcircle做实际工作”,来表现自己的行为了。图7.1显示了各个类间的关系。以下是JAVA语言实现,能够正确编译通过。
【图7一1】

[Java代码】
//Shape.Java文件
public interface Shape{
    public(1)void display();
}
//xXCircle.Java文件
public class XXCircle{
    public void displayIt(){
    //省略具体实现
    }
}
//Circle.Java文件
public class Circle (2) Shape{
    private XXCircle pcx=(3);
    public void display()(
    pcx.displayIt();
    }
}
//Factory.Java文件
pub]ic class Factory{
    publ ic    (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.printin(”Error get the instance!”);
    return;
    }
    S.display();
    return;
    }
  }

选项

答案(1)abstract (2)implements (3)new XXCircle() (4)Shape (5)getShape!nstance(type)

解析 Shape是接口,其中的方法都是抽象方法,故空(1)应填abstract。Shape是接口,故空(2)应填iⅡlplements,表示实现某个接口。初始化一个XXCircle实例,空(3)应填new xXCircle()。方法getShapeInstance(int type)的返回值有new Line()、new Square()以及new Circle(),参照类的层次结构,可得空(4)应填Shape。Factory类仅定义了一个方法getShapeInstance,而此处语义正是取得一个形状进行显示,故空(5)应填getShapeInstance(type)。
转载请注明原文地址:https://jikaoti.com/ti/dUi7FFFM
0

相关试题推荐
最新回复(0)