原型模式Prototype
原型模式也是创建模式的一种,顾名思义,就是创建一个和原来一模一样的新对象。比如日常开发中,常用到的复制的功能,用户新建一个财务凭证后,以后会有类似的凭证,只是金额需要修改,其它内容都相同。此时用户就没有必要重新将凭证的内容一个一个地输入到界面上,只需要执行复制功能,即可生成一张新的一模一样的凭证,然后新的凭证上只修改金额即可,这时就使用原型模式。
说明:Java对象赋值是地址传值,修改赋值后的实例会修改原来实例的属性值;我们需要的是复制后修改但不修改原来的实例的属性值。
原型模式示意图
方法:实现Java中的Cloneable类
implements Cloneable
public Object clone(){ Object obj = null; try{ obj = super.clone(); } catch(CloneNotSupportException ex){ System.out.println(ex); } return ojb; }
客户端调用:
Product p = new Product(); p.setNum(111); p.setPrice(14); p.setRebate(20); Product p1 = (Product) p.clone(); p1.setNum(200);
我们得到的是,修改后的p1和p的数量不同。
原文地址:http://blog.csdn.net/dream_angel_z/article/details/45292989