7

上書きのような基本クラスから関数を呼び出す方法はありますか。

基本クラス

export class BaseClass {
   constructor() {
   //do something asynchronous
   //than call initialized
   }
}

継承クラス

export class InheritanceClass extends BaseClass {
   initialized() {
   // get called from base class
   }
}
4

2 に答える 2

9

次のような意味ですか。

class Base {
    constructor(){
        setTimeout(()=>{
            this.initialized();
        }, 1000);
    }

    initialized(){
        console.log("Base initialized");
    }
}

class Derived extends Base {
    initialized(){
        console.log("Derived initialized");
    }
}

var test:Derived = new Derived(); // console logs "Derived initialized" - as expected.

Playgroundでうまく動作します( の奇妙な赤い下線は無視してsetTimeout()ください。これはバグだと思います - コンパイルして正常に動作します。)

にメソッドが存在する必要がありBaseますが、オーバーライドすることができますDerived(この場合のように、 を呼び出すことなくsuper.initialized())。

于 2013-06-21T10:45:11.797 に答える