java23中设计模式——创建模式——prototype(原型)

原型模式定义: 

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 

Prototype 模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建

的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的

对象通过请求原型对象拷贝它们自己来实施创建。 

因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一下子变

得很简单. 

以勺子为例: 

public abstract class AbstractSpoon impl

{  

   String spoonName;  

 

   public void setSpoonName(String spoon

spoonName;} 

   public String getSpoonName() {return 

 

   public Object clone()  

   { 

     Object object = null; 

     try { 

       object = super.clone(); 

     } catch (CloneNotSupportedExcepti

       System.err.println("AbstractSp

     } 

   return object; 

   } 

}

有个具体实现(ConcretePrototype): 

public class SoupSpoon extends AbstractSpoon 

{  

   public SoupSpoon() 

   { 

     setSpoonName("Soup Spoon");  

   } 

调用 Prototype 模式很简单: 

AbstractSpoon spoon = new SoupSpoon(); 

AbstractSpoon spoon2 = spoon.clone();  

当然也可以结合工厂模式来创建 AbstractSpoon 实例。 

在 Java 中 Prototype 模式变成 clone()方法的使用,由于 Java 的纯洁的面向对象特

性,使得在 Java 中使用设计模式变得很自然,两者已经几乎是浑然一体了。这反映在很多

模式上,如 Interator 遍历模式。 


转载于:https://my.oschina.net/dengdajun/blog/643586

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值