标签:
原型模式也是创建型的设计模式,通过拷贝原型创建新的对象,理解原型模式必须理解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