现在我对类的继承和对象感到困惑。我们可以使用对象来执行与继承相同的操作。 好的,这是第一个代码
public class MainForm {
GUI g = new GUI();
g.show();
g.destroy();
}
class GUI {
void show(){
......
}
void destroy (){
......
}
}
现在是第二个
public class MainForm extends GUI {
//GUI g = new GUI();
void show();
void destroy();
}
class GUI {
void show(){
......
}
void destroy (){
......
}
}
两个代码的作用是一样的,对吗?然后 当我可以使用类的对象执行相同操作时,为什么我应该扩展类?
最佳答案
当你想要创建一个父类的多个类,而不需要重复很多逻辑时,通常会使用继承。我可能有一个名为 Animal
的类,它具有 speak()
、walk()
和 sleep()
方法。我还可能想要有 Animal
的特定实例,例如 Cat
和 Dog
。
我可以将它们编写在 Animal
中,然后让我的其他类扩展 Animal 来使用这些方法,并添加特定于这些类的任何方法,而不是单独实现所有这三个方法(如claw()
或fetch()
)。
好处是减少代码重复和更好的对象“抽象”。然而,也有一些缺点,就像这个 article指出。了解继承何时有用、何时无用非常重要。
关于java - 我为什么要延长类(class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9264635/