原型模式的目标是通过降低创建成本来克隆对象。 这里是一个例子:如何实现原型模式?
class Complex {
int[] nums = {1,2,3,4,5};
public Complex clone() {
return new Complex();//this line create a new object, so is it violate the objective of prototype ?//
}
}
class Test2 {
Complex c1 = new Complex();
Complex makeCopy() {
return (Complex)c1.clone();// Is it actually create a new object ? based on the clone method in Complex class? //
}
public static void main(String[] args) {
Test2 tp = new Test2();
Complex c2 = tp.makeCopy();
}
}
我认为这是深层复制。那么,有人可以帮助我解决这个问题吗?
我也查了维基百科对这种模式的定义。我同意这是没有意义的(类正在被实例化),除非你利用对象缓存。 – 2010-08-20 16:57:32