首页 > 其他 > 详细

ES5面向对象继承(待更)

时间:2020-04-10 09:19:30      阅读:76      评论:0      收藏:0      [点我收藏+]

一、组合继承

  首先,从本质上来说,组合继承=原型链+构造函数继承。

  1.原型和原型链的概念

    每个构造函数内部会有一个prototype指针,指向一个原型对象,而这个原型对象同样也有一个constuctor指针指回构造函数。

  当创建一个对象

  2.原型链

    优点:部分函数复用

    缺点:(1)父类的所有属性和方法(不论私有属性还是共有属性)都被子类视为原型。(2)无法向父类传参

  3.构造函数继承

    优点:可以向父类传参

    缺点:没用到原型链,也就无法实现函数复用

  4.组合继承

    私有数据通过构造函数继承,共有数据和方法通过原型链继承。

二、寄生组合式继承

  首先,从本质来说,寄生组合式继承=原型式继承+寄生式继承。

  1.原型式继承

  2.寄生式继承

  3.寄生组合式继承

三、组合继承VS寄生组合继承

  其实组合继承和寄生组合继承只有一个区别,子类的原型是否直接继承父类的原型,而这个寄生组合继承的这个改进,目的是为了避免二次创建父类实例。

ES5面向对象继承(待更)

原文:https://www.cnblogs.com/yuxingguang/p/12670917.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!