网站开发交接,个人博客网站制作搭建,wordpress定时发布文章,做得不好的知名企业网站现要求实现一个能够自动生成求职简历的程序#xff0c;简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同#xff0c;并尽量减少程序中的重复代码。 采用原型模式(Prototype)来实现上述要求#xff0c;得到如图 7.25 所示的类图。 原…现要求实现一个能够自动生成求职简历的程序简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同并尽量减少程序中的重复代码。 采用原型模式(Prototype)来实现上述要求得到如图 7.25 所示的类图。 原型模型是一种对象创建模型用原型实体指定创建对象的种类并且通过复制这些原型创建新的对象。原型模型允许一个对象再创建另一个可定制的对象无须知道任何创建的细节。
【Java代码】
public class WorkExperience implements Cloneable{//工作经历private String workDate;private String company;public Object clone {WorkExperience Obj new WorkExperience();Obj.workDate this.workDate;Obj.company this.company;return Obj;}//其余代码省略
}public class Resume implements 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 (WorkExperience)work.clone();}public void SetPersonInfo(String sex,String age){/*实现省略*/}public void SetWorkExperience(String workDate,String company){/*实现省略*/}public Object clone(){Resume Obj new Resume(this.work);return Obj;}
}Class WorkResume{public static void main(){Resume a new Resume(张三);a.SetPersonInfo(男,29)a.SetWorkExperience(1998-2000,XXX公司);Resume b (Resume)a.clone();b.SetWorkExperience(2001-2006,YYY公司);}
}