标签:style blog color io java ar div sp log
原型模式:
1 原型模式 2 概述 3 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 4 5 适用性 6 1.当一个系统应该独立于它的产品创建、构成和表示时。 7 8 2.当要实例化的类是在运行时刻指定时,例如,通过动态装载。 9 10 3.为了避免创建一个与产品类层次平行的工厂类层次时。 11 12 4.当一个类的实例只能有几个不同状态组合中的一种时。 13 14 建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。 15 16 参与者 17 1. Prototype 18 声明一个克隆自身的接口。 19 20 2. ConcretePrototype 21 实现一个克隆自身的操作。 22 23 3. Client 24 让一个原型克隆自身从而创建一个新的对象。
测试类:
1 public class Test { 2 3 public static void main(String[] args) { 4 Prototype pro = new ConcretePrototype("prototype"); 5 Prototype pro2 = (Prototype)pro.clone(); 6 System.out.println(pro.getName()); 7 System.out.println(pro2.getName()); 8 } 9 10 }
1 /** 2 * 声明一个克隆自身的接口 3 * @author 4 * 5 */ 6 public class Prototype implements Cloneable { 7 8 private String name; 9 10 public void setName(String name) { 11 this.name = name; 12 } 13 14 public String getName() { 15 return this.name; 16 } 17 18 public Object clone(){ 19 try { 20 return super.clone(); 21 } catch (Exception e) { 22 e.printStackTrace(); 23 return null; 24 } 25 } 26 }
1 /** 2 * 实现一个克隆自身的操作 3 * @author 4 * 5 */ 6 public class ConcretePrototype extends Prototype { 7 8 public ConcretePrototype(String name) { 9 setName(name); 10 } 11 }
标签:style blog color io java ar div sp log
原文地址:http://www.cnblogs.com/huzi007/p/3981957.html