/**
-
@Author: cxh
-
@CreateTime: 18/1/7 11:49
-
@ProjectName: JavaBaseTest
*/
public class Client {
public static void main(String[] args) {
Resume resume1=new Resume("李沁");
resume1.setSelfInfo("女",22);
resume1.setWorkExperience("北京",11,"技术研发");
resume1.print();
//原型模式的使用:根据指定对象resume1创建同类型的新对象resume2,且对对象的创建做定制,定制通过两个set方法完成.
Resume resume2=(Resume)resume1.clone();
resume2.setSelfInfo("女",25);
resume2.setWorkExperience("天津",9,"技术支持");
resume2.print();
//clone()方法对引用的拷贝是浅拷贝
resume1.print();
}
}
/**
-
@Author: cxh
-
@CreateTime: 18/1/7 11:49
-
@ProjectName: JavaBaseTest
*/
public class Resume implements Cloneable{
private String name;
private String sex;
private int age;
private WorkExperience experience;
Resume(String name){
this.name=name;
experience=new WorkExperience();
}
@Override
public Object clone() {
return this;
}
//设置个人信息
public void setSelfInfo(String sex,int age){
this.sex=sex;
this.age=age;
}
//设置工作经历
public void setWorkExperience(String location,int time,String job){
experience.setWorkSpace(location);
experience.setStayTime(time);
experience.setJob(job);
}
//打印简历信息
public void print(){
System.out.println("name:"+name);
System.out.println("sex:"+sex);
System.out.println("age:"+age);
System.out.println("workSpace: 工作地点:"+experience.getWorkSpace()+",工作时长(年):"+experience.getStayTime()+",岗位:"+experience.getJob());
}
}
/**
-
@Author: cxh
-
@CreateTime: 18/1/7 11:50
-
@ProjectName: JavaBaseTest
*/
public class WorkExperience {
private String workPlace;
private int stayTime;
private String job;
public void setWorkSpace(String workSpace) {
this.workPlace = workSpace;
}
public void setStayTime(int stayTime) {
this.stayTime = stayTime;
}
public void setJob(String job) {
this.job = job;
}
public String getWorkSpace() {
return workPlace;
}
public int getStayTime() {
return stayTime;
}
public String getJob() {
return job;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。