【发布时间】:2016-03-09 15:11:11
【问题描述】:
我正在尝试理解原型设计模式。
这里是示例代码。
public class App {
public static void main(String[] args) {
//Prototype proto = new Prototype();
Dog d = new Dog();
Dog clone ;//= (Dog)proto.getClone(d);
clone = (Dog) d.makeCopy();
System.out.println(d);
System.out.println(clone);
System.out.println("xxxxxxxxxxxxxx");
//System.out.println();
//d.setval("test");
//System.out.println(clone.getVal());
}
}
很清楚如何在原型中创建狗的克隆。
Dog d = new Dog();
Dog clone ;
clone = (Dog) d.makeCopy();
但是如果不执行所有这些步骤,我们就不能简单地这样做吗?
Dog d = new Dog();
Dog clone = d;
我能想到的唯一用法是通过 Prototype 动态创建克隆对象,因为我们可以传递 Dog 类型超类的任何子类。
我说的对吗?或者还有什么需要补充的吗?
【问题讨论】:
标签: oop design-patterns