原型模式

原型(Prototype)模式的定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。
/**
* 原型模式的克隆分为浅克隆和深克隆,Java 中的 Object 类提供了浅克隆的 clone() 方法,具体原型类只要实现 Cloneable 接口就可实现对象的浅克隆,这里的 Cloneable 接口就是抽象原型类。
* 抽象原型类:规定了具体原型对象必须实现的接口。
* 具体原型类:实现抽象原型类的 clone() 方法,它是可被复制的对象。
* 访问类:使用具体原型类中的 clone() 方法来复制新的对象。
**/
public class ProtoTypeTest {
    public static void main (String[] args) throws CloneNotSupportedException {
        RealizeType realizeType1 = new RealizeType();
        RealizeType realizeType2 = (RealizeType)realizeType1.clone();
        System.out.println("realizeType1 == realizeType2?" + (realizeType1 == realizeType2));
    }
}
class RealizeType implements Cloneable {
    
    public RealizeType() {
        System.out.println("具体原型创建成功!");
    }
    public Object clone () throws CloneNotSupportedException {
        System.out.println("具体原型复制成功!");
        return (RealizeType)super.clone();
    }
}

上一篇:单例模式
下一篇:工厂方法模式
腾讯云双十一优惠链接

你可能感兴趣的:(原型模式)