原型模式:通过复制生成实例

原型模式允许对象在不重新创建的情况下通过复制来生成新的实例。这通常比直接创建一个新对象更加高效。简单来说,原型模式就是通过复制一个已有的对象来创建新的对象。

首先,我们需要定义一个实现Cloneable接口的原型类,以便使用clone()方法进行复制:

public class Prototype implements Cloneable {
    private String name;

    public Prototype(String name) {
        this.name = name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    @Override
    public Prototype clone() throws CloneNotSupportedException {
        return (Prototype) super.clone();
    }
}

使用该类创建一个示例对象,并将其复制成多个新对象:

public class Main {
    public static void main(String[] args) throws CloneNotSupportedException {
        // 创建一个原型对象
        Prototype prototype = new Prototype("原型对象");

        // 复制原型对象,创建新的对象
        Prototype clone1 = prototype.clone();
        Prototype clone2 = prototype.clone();
        
        // 修改新对象的属性
        clone1.setName("复制对象1");
        clone2.setName("复制对象2");

        // 输出结果
        System.out.println("原型对象:" + prototype.getName());
        System.out.println("复制对象1:" + clone1.getName());
        System.out.println("复制对象2:" + clone2.getName());
    }
}
posted @ 2023-04-23 15:46  穆海如枫  阅读(23)  评论(0)    收藏  举报