设计模式之原型模式1,prototype
来源:互联网 发布:hashmap的hash算法key 编辑:程序博客网 时间:2024/06/05 02:09
package liu.prototype.demo;
public class WorkExperience {
private String workDate;
private String company;
public void setWorkDate(String workDate) {
this.workDate = workDate;
}
public String getWorkDate() {
return workDate;
}
public void setCompany(String company) {
this.company = company;
}
public String getCompany() {
return company;
}
}
private String company;
public void setWorkDate(String workDate) {
this.workDate = workDate;
}
public String getWorkDate() {
return workDate;
}
public void setCompany(String company) {
this.company = company;
}
public String getCompany() {
return company;
}
}
----------------------------------------
package liu.prototype.demo;
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();
}
public void setPersonalInfo(String sex, String age){
this.age = age;
this.sex = sex;
}
public void setWorkExperience(String workDate, String company){
work.setCompany(company);
work.setWorkDate(workDate);
}
public void display(){
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
System.out.println("性别:"+sex);
System.out.println("工作时间:"+work.getWorkDate());
System.out.println("公司:"+work.getCompany());
}
public Object clone(){
Object object = null;
try {
object = super.clone();
} catch (CloneNotSupportedException e) {
System.err.println("AbstractSpoon is not Cloneable");
e.printStackTrace();
}
return object;
}
}
----------------------------------------
package liu.prototype.demo;
private String sex;
private String age;
private WorkExperience work;
public Resume(String name){
this.name = name;
work = new WorkExperience();
}
public void setPersonalInfo(String sex, String age){
this.age = age;
this.sex = sex;
}
public void setWorkExperience(String workDate, String company){
work.setCompany(company);
work.setWorkDate(workDate);
}
public void display(){
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
System.out.println("性别:"+sex);
System.out.println("工作时间:"+work.getWorkDate());
System.out.println("公司:"+work.getCompany());
}
public Object clone(){
Object object = null;
try {
object = super.clone();
} catch (CloneNotSupportedException e) {
System.err.println("AbstractSpoon is not Cloneable");
e.printStackTrace();
}
return object;
}
}
----------------------------------------
package liu.prototype.demo;
public class Main {
public static void main(String[] args) {
Resume a = new Resume("大鸟");
a.setPersonalInfo("male", "29");
a.setWorkExperience("2009", "xx company");
Resume b = (Resume)a.clone();
b.setWorkExperience("2009", "yy company");
Resume c = (Resume) a.clone();
c.setPersonalInfo("male", "24");
c.setWorkExperience("2008", "zz company");
a.display();
b.display();
c.display();
}
c.setPersonalInfo("male", "24");
c.setWorkExperience("2008", "zz company");
a.display();
b.display();
c.display();
}
}
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
- 设计模式之原型模式1,prototype
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype原型设计模式
- (创建模式)设计模式之Prototype(原型)
- 设计模式之原型模式(Prototype)
- 设计模式读书笔记之原型模式(Prototype)
- 设计模式之原型模式2,prototype
- oracel出现超打开游标的最大值原因及解决办法
- 在Ubuntu下ADT识别不出真机的解决办法
- Base64编解码(C++版)
- 数组跳跃游戏 Jump Game
- 设计模式之原型模式1,prototype
- Gradle构建工具的学习与使用
- 设计模式之备忘录模式,memento
- 设计模式之迭代器模式,iterator
- uva 11129 An antiarithmetic permutation
- c语言 字符串倒叙算法
- 设计模式之简单工厂模式,factory
- apache activeMQ 5.9 在unix solaris11上的安装
- 设计模式之代理模式,facade