定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
通俗说明:使用同一个类创建不同的对象
我认为:建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些
参与者
-
Prototype(某个类|接口)
声明一个克隆自身的接口。
-
ConcretePrototype(具体的类|接口)
实现一个克隆自身的操作。
-
Client(克隆具体的类)
让一个原型克隆自身从而创建一个新的对象。
接下来是 实例代码如下
public class Prototype implements Cloneable{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
public class ConcretePrototype extends Prototype{
public ConcretePrototype(String name) {
setName(name);
}
}
public class Test {
public static void main(String[] args) throws Exception {
Prototype prototype = new ConcretePrototype("小明");
Prototype clone = (Prototype) prototype.clone();
System.out.println(prototype.getName()+"--"+prototype);
System.out.println(clone.getName()+"---"+clone);
}
}