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的用法
用于訪問和調(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.繼承中,如果實(shí)例化子類輸出一個方法,先看子類有沒有這個方法,如果有就先執(zhí)行子類; //2.繼承中,如果子類里面沒有,就去查找父類有沒有如果有就用父類 </script>
子類繼承父類,同時擴(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); } } // 子類繼承父類加法 同時擴(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í)例化子類輸出一個方法,先看子類有沒有這個方法,如果有就先執(zhí)行子類; //2.繼承中,如果子類里面沒有,就去查找父類有沒有如果有就用父類 </script>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Spring如何集成ibatis項目并實(shí)現(xiàn)dao層基類封裝2. IDEA 2020.1.2 安裝教程附破解教程詳解3. idea設(shè)置提示不區(qū)分大小寫的方法4. 使用AJAX(包含正則表達(dá)式)驗證用戶登錄的步驟5. 利用ajax+php實(shí)現(xiàn)商品價格計算6. IntelliJ IDEA導(dǎo)出項目的方法7. Java利用TCP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器通信(附通信源碼)8. Java PreparedStatement用法詳解9. django queryset相加和篩選教程10. JS圖片懶加載庫VueLazyLoad詳解

網(wǎng)公網(wǎng)安備