2005上半年高程考试 下午第六题

试题六(15分)
  阅读以下说明和Java代码,将应填入 __(n)__ 处的字名写在答题纸的对应栏内。
[说明]
  某绘图系统存在Point、Line、Square三种图元,它们具有Shape接口,图元的类图关系如图6-1所示。现要将Circle图元加入此 绘图系统以实现功能扩充。已知某第三方库已经提供了XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle又遵循了 Shape规定的接口。既避免了从头开发一个新的Cicle类,又可以不修改绘图系统中已经定义的接口,代码6-2根据用户指定的参数生成特定的图元实 例,并对之进行显示操作。
  绘图系统定义的接口与XCircle提供的显示接口及其功能如下表所示:

Shape

XCircle

功能

display()

displayit()

显示图元

[图6-1]

[代码6-1]
  class Circle ___(1)___{
   private ___(2)___ pxc;
   public Circle () { pxc = new ___(3)___;
   }
   public void display(){
    pxc. ___(4)___;
   }
  }
[代码6-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();
    if(s==null){
     System.out.println("Error get instance!");
     Return;
    }
    s.display();
    return;
   }
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值