可用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。
该模式允许一个对象再创建另外一个可定制的对象,并且不需要知道任何创建的细节。
interface Prototype extends Cloneable
{
public Object clone() throws java.lang.CloneNotSupportedException;
}
class ConcretePrototype implements Prototype
{
public Object clone() throws java.lang.CloneNotSupportedException{
return super.clone();
}
}
要注意深层和浅层的复制,浅层复制仅考虑所复制的对象,而没有考虑它所引用的对象。
而深层复制要把复制的对象所引用的对象也复制一遍。