亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【金秋打卡】第12天 再學JavaScript ES(6-10)全版本語法大全

標簽:
JavaScript

课程名称:再学JavaScript ES(6-10)全版本语法大全
课程章节:2-16 Sub Classes(如何继承一个类?)
课程讲师:快乐动起来呀
课程内容:

面向对象语言特点:继承、封装、多态,子类继承父类,父类有的属性和方法,子类也会有
面向对象的之所以强大就是因为有继承,继承就是父亲有的可以给继承给儿子,即Dog子类什么也不干,也会继承父类Animal所有有的方法和属性

ES5做法:通过原型链

Dog.prototype = Animal.prototype;

父类

let Animal = function(type){
    this.type = type
}

子类

let Dog = function(){
    //初始化父类的构造函数
    Animal.call(this, 'dog') 
}

Dog.prototype = Animal.prototype 

Animal的实例对象this指向dog未来的实例对象上去,只能把在Animal构造函数里的属性和方法继承过来,在Animal原型链上的继承不了
原型对象的指向指向同一个地方,值并没有发生复制。可以把Animal原型链上的方法继承过来
要继承父类原型链上的方法,需要把子类的原型链挂载到父类的原型链上

ES6做法:

class Dog extends Animal {}

class Dog extends Animal {

    constructor(type){

        super('dog') //初始化父类的构造函数 == Animal.call(this, 'dog')

        this.age = 2;  //如果子类没有自己的属性 可以省略constructor全部

    }

}

课程收获:
es6中子类继承父类,如果不写构造函数,默认调用了父类的构造函数class Dog extends Animal{}
如果写构造函数,必须使用super()调用父类的构造函数
如果父类有参数,子类构造函数也要有参数

图片描述

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
1
獲贊與收藏
0

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消