2007-07-26

原型模式

java中Object已经实现了clone()的方法,所以原型模式就变得非常的简单。

public abstract class AbstractSpoon implements Cloneable {
  String spoonName;

  public void setSpoonName(String spoonName) {
                this.spoonName = spoonName;
        }

  public String getSpoonName() {
                return this.spoonName;
        }

  public Object clone() {
    Object object = null;
    try {
      object = super.clone();
    } catch (CloneNotSupportedException exception) {
      System.err.println("AbstractSpoon is not Cloneable");
    }
    return object;
  }
}

下面是一个具体类:

public class SoupSpoon extends AbstractSpoon {
  public SoupSpoon() {
    setSpoonName("Soup Spoon");
  }
}

使用原型的方法很简单:

AbstractSpoon spoon = new SoupSpoon();
AbstractSpoon spoon2 = spoon.clone();

 

评论
发表评论

您还没有登录,请登录后发表评论

James Zhao
搜索本博客
我的相册
229a73b1-3463-4fe5-882f-582753f6ae58-thumb
动力
共 6 张
存档
最新评论