小編這次要給大家分享的是如何繼承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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。