6.原型模式

来源:互联网 发布:mac版搜狗五笔皮肤 编辑:程序博客网 时间:2024/06/11 17:19

定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。其实就是从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节。

克隆的优点:不用重新初始化对象,而是动态地获得对象运行时的状态。

1.因为克隆实在太常用,一般提供ICloneable 接口,只要实现这个接口就可以完成原型模式了。


浅表复制:对于值类型,没什么问题。对于引用类型,就只是复制了引用,对引用的对象还是指向了原来的同一个对象。

深表复制:把引用对象的变量指向复制过的新对象,而不是原有的被引用的对象。(做法是:使对象中的引用类型和对象一样都实现ICloneable接口,然后提供Clone方法调用的私有构造函数,以便克隆引用类型的数据)

0 0