现在我对继承和类对象感到困惑。我们可以像继承那样使用对象。 好的,这是第一个代码
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 (){
......
}
}
两个代码都是一样的。对吗?然后 当我可以使用类的对象做同样的事情时,为什么要扩展一个类?
答案 0 :(得分:2)
当您想要创建父类的多个类而不重复大量逻辑时,通常会使用继承。我可能有一个名为Animal
的类,其中包含方法speak()
,walk()
和sleep()
。我也可能想要Animal
Cat
和Dog
的特定实例。
我不是单独实现所有这三个方法,而是可以在Animal
中编写它们,然后让我的其他类扩展Animal来使用它们,以及添加特定于这些类的任何方法(如{ {1}}或claw()
)。
这些好处减少了代码重复和对象的更好“抽象”。但是,也存在一些缺点,正如article指出的那样。重要的是要知道何时继承是有用的,何时不是。