溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何繼承JavaScript類

發布時間:2020-07-20 15:55:18 來源:億速云 閱讀:144 作者:小豬 欄目:web開發

小編這次要給大家分享的是如何繼承JavaScript類,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

類的繼承

1 子承父業

extends(繼承父類的普通函數)(方法)

class Father {
      constructor() {
      }
      money() {
        console.log(100);  
      }
    }
    class Son extends Father {
    }
    class sunzi extends Son {

    }
    var yxf = new Father;
    var lbw = new Son;
    var bb = new sunzi;
    console.log(yxf.money());
    console.log(lbw.money());
    console.log(bb.money());

super的用法

用于訪問和調用對象父類上的函數??梢哉{用父類的構造函數,也可以調用父類的普通函數(方法)

class Father1 {
      constructor(x,y) {
        this.x = x;
        this.y = y;
      }
      sum() {
        console.log(this.x + this.y);
      }
    }
    class Son1 extends Father1 {
      constructor(x,y){
        super(x,y);
      }
    }
    var yxf = new Son1(1,2);
    yxf.sum();

super關鍵字調用就近原則

<script>
    //super關鍵字調用父類普通函數
    class Father {
      say() {
        return '我是爸爸';
      }
    }
    class Son extends Father {
      say() {
      //   return '我是兒子';
      console.log( super.say());
      
      }
    }
    var yxf = new Son();
    yxf.say();//返回結果:我是兒子 就近原則
    //繼承中的屬性或方法查找原則:就近原則
    //1.繼承中,如果實例化子類輸出一個方法,先看子類有沒有這個方法,如果有就先執行子類;
    //2.繼承中,如果子類里面沒有,就去查找父類有沒有如果有就用父類
  </script>

子類繼承父類,同時擴展自己的方法

注意:子類子構造函數使用super 必須放到this的前面(必須先調用父類的構造方法 再使用子類的構造方法)父親永遠是第一位的?。。?!

<script>
    class Father {
      constructor(x,y){
        this.x = x;
        this.y = y;
      }
      sum() {
        console.log(this.x + this.y);
      }
    }
    // 子類繼承父類加法 同時擴展減法
    class Son extends Father {
      constructor(x,y) {
        //利用super調用父類的構造函數
        //super 必須在子類this之前調用
        super(x,y);
        this.x = x;
        this.y = y;
      }
      sub() {
        console.log(this.x - this.y);
      }
    }
    var son = new Son(1,2);
    son.sum();
    son.sub();
  </script>
 <script>
    //super關鍵字調用父類普通函數
    class Father {
      say() {
        return '我是爸爸';
      }
    }
    class Son extends Father {
      say() {
      //   return '我是兒子';
      console.log( super.say());
      }
    }
    var yxf = new Son();
    yxf.say();//返回結果:我是兒子 就近原則
    //繼承中的屬性或方法查找原則:就近原則
    //1.繼承中,如果實例化子類輸出一個方法,先看子類有沒有這個方法,如果有就先執行子類;
    //2.繼承中,如果子類里面沒有,就去查找父類有沒有如果有就用父類
  </script>

看完這篇關于如何繼承JavaScript類的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女