5.现要求实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。
现采用原型模式(Prototype)来实现上述要求,得到如图6-1所示的类图。
图6-1类图
【Java代码】
public class WorkExperience(1)Cloneable{//工作经历
private String workDate;
private String company;
public Object clone( ){
(2);
Obj.workDate=this.workDate;
Obj.company=this.company;
return Obj;
}
//其余代码省略
}
public class Resume(3)Cloneable{//简历
private String name;
private String sex;
private String age;
private WorkExperience work;
public Resume(string name){
this.name=name;
work=new WorkExperience( );
}
private Resume(WorkExperience work){
this.work=(4);
}
public void?SetPersonInfo(string sex,string age){/*实现省略*/}
public void?SetWorkExperience(string workDate,string company){/*实现省略*/}
public Object clone( ){
Resume Obj=(5);
return Obj;
}
}
Class WorkResume{
public static void?main( ){
Resume?a=new Resume(“张三”);
a.SetPersonInfo(“男”,“29”);
a.SetWorkExperience(“1998-2000”,“XXX公司”);
Resume?b=(6);
b.SetWorkExperience(“2001-2006”,“YYY公司”);
}
}