JavaScript類的繼承多種實現(xiàn)方法
類的繼承
1 子承父業(yè)
extends(繼承父類的普通函數(shù))(方法)
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的用法
用于訪問和調(diào)用對象父類上的函數(shù)??梢哉{(diào)用父類的構(gòu)造函數(shù),也可以調(diào)用父類的普通函數(shù)(方法)
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關(guān)鍵字調(diào)用就近原則
<script>
//super關(guān)鍵字調(diào)用父類普通函數(shù)
class Father {
say() {
return '我是爸爸';
}
}
class Son extends Father {
say() {
// return '我是兒子';
console.log( super.say());
}
}
var yxf = new Son();
yxf.say();//返回結(jié)果:我是兒子 就近原則
//繼承中的屬性或方法查找原則:就近原則
//1.繼承中,如果實例化子類輸出一個方法,先看子類有沒有這個方法,如果有就先執(zhí)行子類;
//2.繼承中,如果子類里面沒有,就去查找父類有沒有如果有就用父類
</script>
子類繼承父類,同時擴展自己的方法
注意:子類子構(gòu)造函數(shù)使用super 必須放到this的前面(必須先調(diào)用父類的構(gòu)造方法 再使用子類的構(gòu)造方法)父親永遠(yuǎn)是第一位的!?。。?/p>
<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調(diào)用父類的構(gòu)造函數(shù)
//super 必須在子類this之前調(diào)用
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關(guān)鍵字調(diào)用父類普通函數(shù)
class Father {
say() {
return '我是爸爸';
}
}
class Son extends Father {
say() {
// return '我是兒子';
console.log( super.say());
}
}
var yxf = new Son();
yxf.say();//返回結(jié)果:我是兒子 就近原則
//繼承中的屬性或方法查找原則:就近原則
//1.繼承中,如果實例化子類輸出一個方法,先看子類有沒有這個方法,如果有就先執(zhí)行子類;
//2.繼承中,如果子類里面沒有,就去查找父類有沒有如果有就用父類
</script>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
TypeScript中的interface與type實戰(zhàn)
這篇文章主要介紹了TypeScript中的interface與type詳解,它們都是用來定義類型的強大工具,在實際開發(fā)中,你可以根據(jù)具體情況選擇使用 interface 或 type,或者甚至將它們結(jié)合起來使用,需要的朋友可以參考下2023-06-06
js 替換功能函數(shù),用正則表達式解決,js的全部替換
js 替換功能函數(shù),用正則表達式解決,js的全部替換,學(xué)習(xí)js的朋友可以參考下。2010-12-12
微信小程序開發(fā)自定義tabBar實戰(zhàn)案例(定制消息99+小紅心)
一定的需求情況下無法使用小程序原生的tabbar的時候,需要自行實現(xiàn)一個和tabbar功能一模一樣的自制組件,下面這篇文章主要給大家介紹了關(guān)于微信小程序開發(fā)自定義tabBar(定制消息99+小紅心)的相關(guān)資料,需要的朋友可以參考下2022-12-12
JavaScript檢查數(shù)據(jù)中是否存在相同的元素(兩種方法)
這篇文章主要介紹了JavaScript檢查數(shù)據(jù)中是否存在相同的元素(兩種方法),需要的朋友可以參考下2018-10-10

