标签:
原型模式也是创建型的设计模式,通过拷贝原型创建新的对象,理解原型模式必须理解java中的浅复制和深复制。复制也称为克隆。会发生深拷贝的有java中的8中基本类型以及他们的封装类型,另外还有String类型。其余的都是浅拷贝。
浅克隆:浅克隆仅仅克隆所考虑的对象,而不克隆它所引用的对象。
深克隆:深克隆不仅克隆所考虑的对象,也克隆它所引用的对象。
它的核心是就是原型类Prototype。Prototype类需要具备以下两个条件:
实现类
class Prototype implements Cloneable { public Prototype clone(){ Prototype prototype = null; try{ prototype = (Prototype)super.clone(); }catch(CloneNotSupportedException e){ e.printStackTrace(); } return prototype; } }
具体实现类
class ConcretePrototype extends Prototype{ public void show(){ System.out.println("原型模式实现类"); } }
Client类
public class Client { public static void main(String[] args){ ConcretePrototype cp = new ConcretePrototype(); for(int i=0; i< 10; i++){ ConcretePrototype clonecp = (ConcretePrototype)cp.clone(); clonecp.show(); } } }
标签:
原文地址:http://www.cnblogs.com/JAYIT/p/5058240.html