Pre*_*ton 0 java inheritance clone copy
假设我有一只动物,现在我想把它变成一只狗.我如何在java中执行此操作?
现在我有一个看起来像的构造函数
public Dog(Animal animal) {
this.setProperty(animal.getProperty);
...
}
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但它很脆弱.还有其他建议吗?
如果你的Dog扩展了Animal,你可以创建一个构造函数来获取Animal并初始化super(父)构造函数:
public class Dog extends Animal {
public Dog(Animal animal) {
super(animal);
}
}
Run Code Online (Sandbox Code Playgroud)
假设您有一个Animal类,它具有以下形式的复制构造函数:
public class Animal {
public Animal(Animal animal) {
// copies all properties from animal to this
}
}
Run Code Online (Sandbox Code Playgroud)
您可以通过执行以下操作从动物创建Dog:
Dog newDog = new Dog(myExistingAnimal);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
431 次 |
| 最近记录: |