为什么我应该延长课程?
问题描述:
现在我对继承和类的对象感到困惑。我们可以像继承一样使用对象来做同样的事情。 确定这里是第一个代码为什么我应该延长课程?
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(){
......
}
}
两个代码做了same.Right?然后 为什么我应该使用类的对象来扩展一个类?
答
当您想要创建父类的多个类而不重复大量逻辑时,通常会使用继承。我可能有一个名为Animal
的课程,其方法有speak()
,walk()
和sleep()
。我也可能想要具有Animal
的具体实例,如Cat
和Dog
。
而不是单独实现全部三种这些方法,我可以在Animal
写他们,然后让我的其他类扩展的动物,使利用者,以及添加特定的类(比如claw()
或fetch()
)的任何方法。
好处是减少了代码重复和更好的“抽象”对象。但是,也有一些缺点,如article指出的那样。知道什么时候继承是有用的,什么时候没有继续是很重要的。
你能举个例子说明你的意思吗?恕我直言,我不认为这个问题是非常清楚的... – 2012-02-13 17:04:21
现在我对你的问题感到困惑。 – Bernard 2012-02-13 17:05:19
最有说服力的原因之一是避免代码重复。 – 2012-02-13 17:07:45