首頁  >  文章  >  web前端  >  ES6的「類別」與物件導向的關係

ES6的「類別」與物件導向的關係

php中世界最好的语言
php中世界最好的语言原創
2018-02-27 09:41:091743瀏覽

這次帶給大家ES6的「類別」與物件導向的關係,ES6的「類別」與物件導向關係的注意事項有哪些,以下就是實戰案例,一起來看一下。

上回我們說到ES5的面向對象,以及被大家公認的最佳的寄生組合式繼承。時代在進步,在ES6中對於面向對象這個大boss理所應當地進行了一次大改,從原先那種比較長的寫法轉變為“小清新”寫法。我們一起來看一下。

  在ES6中是有類這個概念,而且是堂而皇之地有了。

  我們來看一串程式碼:

class Dad {
    constructor(name="无姓名",age=0){
        this.name=name;
        this.age=age;
    }
    surface(){
        console.log(this.name,this.age);
    }
}
class Sons extends Dad {
    constructor(name,age){
        super(name,age);
    }
}
const son1=new Sons("张花花",16);
son1.surface();

 其實我們用的依然是上回說的那個例子,在ES6中,用extends來實現對父類別的繼承,同時在構造器中呼叫super方法實作子類別給父類別傳參,這裡我們傳入張花花這個妹子作為參數,果然成功地呼叫了父類別的surface方法。請注意,這裡在類別中定義的這個方法,其實本質上就是建構子Dad的prototype裡面的方法。

  當我說到這裡時,也許小夥伴們會有少許震驚吧,exo me?Dad不是類別嗎,怎麼變方法了。我們在控制台中測一測:

ES6的「類別」與物件導向的關係

 哇!多麼恐怖,真的就是個function,其實ES6中類的概念只不過是對ES5中相關概念的包裝,說得好聽一點就是對語法糖的抽象,只是看起來確實更加簡單了。對於上面這個例子,我們繼承了父類別的surface方法,也可以自己寫一個方法來覆寫它。

  ES6的「類別」與物件導向的關係

  這回我們在子類別裡面又寫了一個surface方法,成功將父類別繼承下來的同名方法覆蓋了。

相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

相關閱讀:

vue怎樣全域設定鍵盤事件

#為什麼把css檔案放在頭部

HTML中關於盒子模型的總結

#overflow的捲動有哪些重要性

以上是ES6的「類別」與物件導向的關係的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn