原型模式:做到是原型,那肯定是自己本身才是原型,原型模式属于对象的创建模式。
关于原型模式的实现方式分2种:
(1)简单形式、(2)登记形式,这两种表现形式仅仅是原型模式的不同实现。
1 package inter.method; 2 /** 3 * 提供一个具有复制本身的接口 4 * @author zengrong 5 * 6 */ 7 public interface Prototype { 8 9 public Object clone(); 10 }
1 package impl.method; 2 3 import inter.method.Prototype; 4 5 public class ConcretePrototype1 implements Prototype { 6 /** 7 * 接口类对象使用了object,所有在复写时候,类型就随便都是可以的 8 */ 9 public Prototype clone(){ 10 //最简单的克隆,新建一个自身对象,由于没有属性就不再复制值了 11 Prototype prototype = new ConcretePrototype1(); 12 return prototype; 13 } 14 }
1 package impl.method; 2 3 import inter.method.Prototype; 4 5 /** 6 * 客户端 7 * @author zengrong 8 * 9 */ 10 public class Client { 11 12 /** 13 * 需要创建的原型 14 */ 15 16 private Prototype prototype; 17 18 public Client( Prototype prototype){ 19 this.prototype=prototype; 20 } 21 /** 22 * 创建原型 23 */ 24 public void create () { 25 Prototype cloneprototype = (Prototype) prototype.clone(); 26 } 27 }
第二种原型模式:登记。。。。。。明天写
时间: 2024-10-23 17:25:18