实施与扩展。何时使用?有什么不同?

问题:

请用易于理解的语言或一些文章的链接来解释。

回答:

 extendsextending一个班级。
 implementsimplementing一个接口
接口和普通类之间的区别在于在接口中不能实现任何已声明的方法。只有“实现”接口的类才能实现这些方法。一个接口的C ++等价物将是一个抽象类(不是完全相同但相当多)。
java也不支持多重继承类。这通过使用多个接口来解决。

 public interface ExampleInterface{
    public void do();
    public String doThis(int number);
 }

 public class sub implements ExampleInterface{
     public void do(){
       //specify what must happen
     }

     public String doThis(int number){
       //specfiy what must happen
     }
 }

现在扩展一个班

 public class SuperClass{
    public int getNb(){
         //specify what must happen
        return 1;
     }

     public int getNb2(){
         //specify what must happen
        return 2;
     }
 }

 public class SubClass extends SuperClass{
      //you can override the implementation
      @Override
      public int getNb2(){
        return 3;
     }
 }

在这种情况下

  Subclass s = new SubClass();
  s.getNb(); //returns 1
  s.getNb2(); //returns 3

  SuperClass sup = new SuperClass();
  sup.getNb(); //returns 1
  sup.getNb2(); //returns 2

我建议你对面向对象编程中的动态绑定,多态和一般继承进行更多的研究

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Implements vs. Extends. When to use? What’s the Difference?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

52 − = 47