这里的继承只讲了两个最基本的继承方式?
来源:6-5 构造继承
_1973
2019-05-21 23:59:00
原型链和借用构造函数继承这两个实现继承的方式大部分都不能够单独使用的,因为有各自的局限性;我以为后面还会引出组合继承等一些优化的继承方式呢?结果就讲完了!!!
2回答
好帮手慕星星
2019-05-23
你好,非常抱歉给你带来不好的学习体验。
首先继承在实际开发中用到的不是很多,而在这是小白入门,所以讲解的都是两种基础继承,避免同学们难以理解。然后实际开发中用es6中的class继承是比较多的,在后面课程中有class的讲解,到后面可以深入学习一下,所以在这没有讲解组合继承。
同学的建议我们也会接受,会进行综合的考量,从实际出发,然后再进行优化。
祝学习愉快!
好帮手慕星星
2019-05-22
你好,视频中继承方式确实讲解的是两种基础的,而组合继承是这两种继承方式的组合,可以给你举一个例子:
使用call方法继承父类Parent的属性,然后再使用原型方式继承父类原型的方法,这样child就拥有了父类的属性和方法。但是这样有一个不足之处,call()方法已经拿到父类的所有属性,使用原型继承的时候会再拿一次,如下:
虽然子类属性会覆盖掉原型上的属性,但是重复拿内容不太好,可以封装一个方法解决这个问题:
获取到传入函数的原型,在调用时传入父类函数,如下:
最后还要注意的是 ,使用原型继承会使子类的构造器指向父类Parent ,所以我们需要用如下方法让child原型的构造器指向child:
一个较完善的继承完成了,完整代码:
同学反馈的问题我们也会进行整体评估,如果有问题也会进行相应的调整。
祝学习愉快!
相似问题