创建型模式之原型模式

来源:互联网 发布:海森矩阵的逆矩阵 编辑:程序博客网 时间:2024/06/11 15:41

原型模式是创建型模式的一种,通过克隆原型实例以创建新的对象。
原型模式不需调用构造方法创建对象,与单例模式冲突。


使用原型模式需明晰以下三点:
1. clone()是Object类的一个protected方法。
2. 若一个类实现了Cloneable接口,则支持在原有实例的基础上clone新的实例。
3. Object的clone操作只克隆基本数据类型(浅拷贝),其它容器类数据按需求自行执行clone(深拷贝)。

public class Prototype implements Cloneable {    private ArrayList list = new ArrayList();    //重写clone()方法,将作用域从protected扩展为public    public Prototype clone() {        Prototype prototype;        try {            //克隆实例及其基本数据类型            prototype = (Prototype) super.clone();            //容器类大多实现了Cloneable接口,按需自行clone            prototype.list = (ArrayList) list.clone();            return prototype;        } catch (CloneNotSupportedException e) {            e.printStackTrace();        }        return null;    }}
原创粉丝点击