2012-02-13 76 views
0

现在我对继承和类的对象感到困惑。我们可以像继承一样使用对象来做同样的事情。 确定这里是第一个代码为什么我应该延长课程?

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?然后 为什么我应该使用类的对象来扩展一个类?

+6

你能举个例子说明你的意思吗?恕我直言,我不认为这个问题是非常清楚的... – 2012-02-13 17:04:21

+0

现在我对你的问题感到困惑。 – Bernard 2012-02-13 17:05:19

+0

最有说服力的原因之一是避免代码重复。 – 2012-02-13 17:07:45

回答

2

当您想要创建父类的多个类而不重复大量逻辑时,通常会使用继承。我可能有一个名为Animal的课程,其方法有speak()walk()sleep()。我也可能想要具有Animal的具体实例,如CatDog

而不是单独实现全部三种这些方法,我可以在Animal写他们,然后让我的其他类扩展的动物,使利用者,以及添加特定的类(比如claw()fetch())的任何方法。

好处是减少了代码重复和更好的“抽象”对象。但是,也有一些缺点,如article指出的那样。知道什么时候继承是有用的,什么时候没有继续是很重要的。

相关问题