您好,登錄后才能下訂單哦!
小編這次要給大家分享的是如何繼承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類的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。