所以,我一直在阅读设计模式和原型模式让我感到困惑。我相信使用它的要点之一是避免使用new运算符。然后我看这个例子:
http://sourcemaking.com/design_patterns/prototype/java/1
首先,他们的 Prototype 想法实现了一个 clone() 方法,这很奇怪。维基百科还说我需要一个纯虚拟方法克隆来由子类实现(为什么?)。Java 不是已经提供了这样的方法,完全按照我们的需要(即创建对象的副本而不是从头开始实例化它)吗?其次,clone 方法调用操作符new!这个例子肯定是错的吗?(在那种情况下,我应该在其他地方学习设计模式,嗯?)。有人可以判断这个更正是否正确吗?:
static class Tom implements Cloneable implements Xyz {
public Xyz cloan() {
return Tom.clone(); //instead of new I use clone() from Interface Cloneable
}
public String toString() {
return "ttt";
}
}
任何澄清表示赞赏。