Prototype模式的意图是:
通过给出一个原型对象来指明所要创建的对象类型,然后用复制这个原型对象的办法创建出更多的同类型对象。
在java的类库中已经实现了这一模式,只要你定义的类实现了Cloneable接口,用这个类所创建的对象可以做为原型对象进而克隆出更多的同类型的对象。代码如下:
输出结果:
使用浅克隆方法进行创建对象
=============================
比较pt和pt1的str的值:
Hello World
Hello World
修改pt1对象中str的值后,比较pt和pt1的str的值:
Hello World
你好,世界
============================
比较pt和pt1中temp对象的值
com.pattern.build.prototype.Temp@d9f9c3
com.pattern.build.prototype.Temp@d9f9c3
使用深克隆方法进行创建对象
============================
com.pattern.build.prototype.Temp@d9f9c3
com.pattern.build.prototype.Temp@530daa