原型模式的定义:
用原型实例指定创建对象的种类,并且通过克隆这些原型来创建新的对象.
Prototype模式允许一个对象再创建一个可定制的对象,无需知道任何如何创建的细节.
工作原理:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建.
举例:
public abstract class AbstractSpoon implements Cloneable {
String spoonName;
public String getName() {
return this.spoonName;
}
public void setName(String spooName) {
this.spoonName = spooName;
}
public Object clone() {
Object object = null;
try {
object = super.clone();
System.out.println("object:"+object);
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return spoonName;
}
}
___________________________
两个具体实现类
public class SoupSpoon extends AbstractSpoon{
public SoupSpoon(){
setName("Soup Spoon");
}
}
public class SaladSpoon extends AbstractSpoon{
public SaladSpoon(){
setName("salad spoon");
}
}
调用:
public class Test {
public static void main(String[] args) {
AbstractSpoon spoon = new SoupSpoon();
System.out.println("spoon:"+spoon.getName());
AbstractSpoon spoonq =new SaladSpoon();
System.out.println("spoon:"+spoonq.getName());
}
}