JavaScriptを、ES6クラスの継承

クラスの継承
connstructorスーパーを拡張
例1:
       父親{クラス
            コンストラクタ(){} 
            マネー(){ 
                にconsole.log( "10000ブロック" ); 
            } 
        } 
        // サブクラスはソン父延び用いて親クラスを継承する
        クラス{}父子が延び
         VaRの SSは= 新しい新しい父親(); 
        SS .money(); 
        // 10000ブロック

例2:

        クラスFaを{ 
            コンストラクタ(X、Y){ 
                this.x = xと; 
                this.y = Y。
            } 
            和(){ 
                VAR SU = this.x + this.y。
                console.log(SU)。
            } 
        } 
        クラス子が延びFaを{ 
            コンストラクタ(X、Y){//コンストラクタ用于存放类的共有属性
                this.x = X。
                this.y = Y。
            } 
        } 
        VAR息子=新しい子(1、2)。
        son.sum(); 
        //输出:キャッチされないにReferenceError:派生でスーパーコンストラクタを呼び出す必要があります
クラスのこの 'にアクセスするか、派生コンストラクタから戻る前に

理由:

    パラメータは、オブジェクトの(1,2)息子インスタンスがソンコンストラクタ(x、y)のサブクラスに実際のポイントである親クラスFaをコンストラクタ(x、y)がないSUM()メソッドを使用することはできません。

改良:

   スーパーキーワードはアクセスし、親クラスのコンストラクタを呼び出すために使用されます。あなたは、親クラスのコンストラクタを呼び出すことができます、また、親クラスの正常な機能を呼び出すことができます
        {クラスのFaを
            コンストラクタ(X、Y){ 
                ; this.x = Xにおいて
                、this.y Yから= 
            } 
            SUM(){ 
                this.x this.yにVAR = SU +から; 
                にconsole.log(SU); 
            } 
        } 
        クラス子を拡張{FAの
            コンストラクタ(X、Y){ 
                スーパー(X、Y);コンストラクタは、親クラスのコンストラクタと呼ばれる// 
            } 
        } 
        新しい新しいソン=ソン(1、2)VAR; 
        son.sum(); 
        // 3

  

 

おすすめ

転載: www.cnblogs.com/sylys/p/11652747.html