原型模式

2022-11-30  本文已影响0人  慎独静思

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。这种模式是实现一个原型接口,该接口用于创建当前对象的克隆,当直接创建对象的代价比较大时,则采用这种模式。

原型模式

我们还是举工程方法模式 一篇中形状的例子。

abstract class Shape implements Cloneable {

    public abstract void draw();

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}

class Circle extends Shape {

    @Override
    public void draw() {
        System.out.println("draw circle.");
    }
}

    public static void main(String[] args) {
        Shape circle = new Circle();
        try {
            circle.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
    }

感觉原型模式也没什么可说的,只是需要注意深拷贝和浅拷贝。

上一篇 下一篇

猜你喜欢

热点阅读