這次帶給大家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不是類別嗎,怎麼變方法了。我們在控制台中測一測:
哇!多麼恐怖,真的就是個function,其實ES6中類的概念只不過是對ES5中相關概念的包裝,說得好聽一點就是對語法糖的抽象,只是看起來確實更加簡單了。對於上面這個例子,我們繼承了父類別的surface方法,也可以自己寫一個方法來覆寫它。
這回我們在子類別裡面又寫了一個surface方法,成功將父類別繼承下來的同名方法覆蓋了。
相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
相關閱讀:
以上是ES6的「類別」與物件導向的關係的詳細內容。更多資訊請關注PHP中文網其他相關文章!