JavaScript類的繼承多種實(shí)現(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的用法
用于訪問(wèn)和調(diào)用對(duì)象父類上的函數(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.繼承中,如果實(shí)例化子類輸出一個(gè)方法,先看子類有沒(méi)有這個(gè)方法,如果有就先執(zhí)行子類; //2.繼承中,如果子類里面沒(méi)有,就去查找父類有沒(méi)有如果有就用父類 </script>
子類繼承父類,同時(shí)擴(kuò)展自己的方法
注意:子類子構(gòu)造函數(shù)使用super 必須放到this的前面(必須先調(diào)用父類的構(gòu)造方法 再使用子類的構(gòu)造方法)父親永遠(yuǎn)是第一位的!!!!
<script> class Father { constructor(x,y){this.x = x;this.y = y; } sum() {console.log(this.x + this.y); } } // 子類繼承父類加法 同時(shí)擴(kuò)展減法 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.繼承中,如果實(shí)例化子類輸出一個(gè)方法,先看子類有沒(méi)有這個(gè)方法,如果有就先執(zhí)行子類; //2.繼承中,如果子類里面沒(méi)有,就去查找父類有沒(méi)有如果有就用父類 </script>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 存儲(chǔ)于xml中需要的HTML轉(zhuǎn)義代碼2. python 浮點(diǎn)數(shù)四舍五入需要注意的地方3. Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法4. python開(kāi)發(fā)一款翻譯工具5. 利用CSS制作3D動(dòng)畫(huà)6. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))7. Springboot 全局日期格式化處理的實(shí)現(xiàn)8. 完美解決vue 中多個(gè)echarts圖表自適應(yīng)的問(wèn)題9. SpringBoot+TestNG單元測(cè)試的實(shí)現(xiàn)10. PHP實(shí)現(xiàn)簡(jiǎn)單線性回歸之?dāng)?shù)學(xué)庫(kù)的重要性
