【问题标题】:How can I implement a method from a class I extend from in Typescript?如何从我在 Typescript 中扩展的类中实现方法?
【发布时间】:2014-07-16 03:31:48
【问题描述】:
class Abc {
    doTask() {
        return 1;
    }
}

class Def extends Abc {   
    // How can I access doTask() here?
}

我想在类 Def 中实现该方法 doTask()。有人可以给我建议如何做到这一点。

【问题讨论】:

    标签: javascript typescript


    【解决方案1】:

    如果您打算覆盖它,请使用super,例如:

    class Abc {
        doTask() {
            return 1;
        }
    }
    
    class Def extends Abc {   
        doTask(){
            return super.doTask();
        }
    }
    

    如果你不这样做,或者只是this,例如:

    class Eef extends Abc {
        foo(){
            return this.doTask();
        }
    }
    

    【讨论】:

      【解决方案2】:

      你只需要在 Def 的成员中使用 this.doTask()。例如:

      class Abc {
          doTask() {
              return 1;
          }
      }
      
      class Def extends Abc {   
          // How can I access doTask() here?
          likeThis() {
              return this.doTask() + 1;
          }
      }
      

      【讨论】:

        【解决方案3】:

        您可以覆盖它、重载它并在子类中与父类一样使用它,例如:

        class A{
        
        public void dotask(){
        //blabla
        }
        }
        Class B extends A{
        
        //overriding
        public void dotask(){
        }
        
        //overloading
        public void dotask(int a){
        }
        
        //simple use
        public void anotherTask(){
        doTask();
        }
        }
        

        【讨论】:

        • 这个答案看起来有点像C#!
        • 哇!我不知道我可以写c# buddy :) !?您能否在此处指定它看起来不像 Java 的地方?
        猜你喜欢
        • 2015-06-02
        • 2022-01-15
        • 1970-01-01
        • 2016-06-29
        • 2012-10-18
        • 2017-05-08
        • 2022-07-08
        • 2019-09-16
        • 1970-01-01
        相关资源
        最近更新 更多