原型模式:
用原型实例指定创建对象的类,并通过拷贝自身原型创建新的对象
Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。
输出结果:
name1
name1
用原型实例指定创建对象的类,并通过拷贝自身原型创建新的对象
Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。
package com.prototypepattern;
public class Prototype implements Cloneable {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Object clone() {
try {
return super.clone();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
package com.prototypepattern;
public class ConceretePrototype extends Prototype{
public ConceretePrototype(String name){
this.setName(name);
}
}
package com.prototypepattern;
public class Test {
public static void main(String[] args) {
Prototype pro1 = new ConceretePrototype("name1");
Prototype pro2 = (Prototype) pro1.clone();
System.out.println(pro1.getName());
System.out.println(pro2.getName());
}
}
输出结果:
name1
name1