阅读下列说明和Java代码,将应填入_______处的字句写在答题纸的对应栏内。 【说明】 现要求实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的

admin2013-07-09  28

问题  阅读下列说明和Java代码,将应填入_______处的字句写在答题纸的对应栏内。
    【说明】
    现要求实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。
    现采用原型模式(Prototype)来实现上述要求,得到如图6-1所示的类图。
   
[Java代码】
Class work Experience   (1)   Cloneable{    //工作简历
    Private String work Date;
    Private String company;
    Public Object Clone(){
       (2)   
    obj.work Date=this.Work Date;
    Obj.company-this.company;
      Return obj;
}
}
Class Resume   (3)   Cloneable{    //简历
    Private String name;
    Private String sex;
    Private String age;
    Private Work Exper ience work;
    Public Resume(String name){
    This.name=name;    work=new Work Experience();
}
    Private Resume(Work Experience work){
    This.woek=   (4)   
}
    Public void Set Personal Info(String sex,String age)(  /*代码省略*/}
    Public void Set Work Experience(String work Date,String company){/*代码省略*/  )
    Public Object Clone(){
    Resume obj=   (5)   
    //其余代码省略
    Return  obj;
}
}
Class Work Resume{
Public static void main(string[]args){
    Resume  a=new  Resume(“张三”);
    a.Set Personal Info(“男”,“29”);
    a.Set Work Experience(“1998~2000”,“XXX公司”);
    Resume b=   (6)   
    b.Set Work Experience(“2001~2006”,“YYY公司”);
  }
}

选项

答案(1)implements (2)Work Experience obj=new Work Experience() (3)implements (4)(Work Experence)work.Clone() (5)new Resume(this.work) (6)a.Clone()

解析 本题考查原型模式的概念及应用,原型模型是一种对象创建模型,用原型实体指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模型允许一个对象再创建另一个可定制的对象,无需知道任何创建的细节。
    所有的Java类都继承自java.lang.Object,而object类提供一个Clone()方法,可以将一个Java对象复制一份。因此在Java中可以直接使用Object提供的Clone()方法来实现对象的克隆。能够实现克隆的java类必须实现一个标识接口Cloneable,表示这个java类支持复制。
    题中Work Experience类和Resume类需要实现Clone-able接口,故(1)和(3)为implements,Work Experience中需要实现Clone方法,并将自身复制一份,由下面的代码可知(2)为Work Experience obj=new Work Experience()。Resume类中的私有构造方法实现Work Expeiience的深复制,故(4)中为(Work
    Experence)work.Clone(),而Resume类中Clone方法
实现自身的复制,故(5)中为new Resume(this.work)
    在main中实现Resume b对a的复制,故(6)中为a.Clone()。
转载请注明原文地址:https://jikaoti.com/ti/Ypi7FFFM
0

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