假设我有一只动物,现在我想把它变成一只狗。我该如何在java中做到这一点?
现在我有一个看起来像的构造函数
public Dog(Animal animal) {
this.setProperty(animal.getProperty);
...
}
虽然这有效,但它很脆弱。还有其他建议吗?
最佳答案
如果您的 Dog 扩展了 Animal,您可以创建一个构造函数,该构造函数接受 Animal 并初始化 super (父)构造函数:
public class Dog extends Animal {
public Dog(Animal animal) {
super(animal);
}
}
假设您有一个 Animal 类,该类具有以下形式的复制构造函数:
public class Animal {
public Animal(Animal animal) {
// copies all properties from animal to this
}
}
您可以通过执行以下操作从动物创建狗:
Dog newDog = new Dog(myExistingAnimal);
关于java - 如何将祖先复制到后代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/982504/