什么叫传承定义,传承和流传的区别

首页 > 教育 > 作者:YD1662024-05-04 01:04:16

原型继承的缺点:

(1).超类型中有引用类型(color是一个数组)的属性时,子类型继承超类型,一个子类型中对该引用类型修改,会反应到所有的子类型上。所有子类型共享超类型的引用类型.

例如:

什么叫传承定义,传承和流传的区别(5)

(2).创建子类型实例时无法向超类型的构造函数中传递参数

2. 构造函数继承

利用call()和apply()方法在新的对象上执行超类型的构造函数。

超类型:指的是被继承的类型。

a.func.call(b) /*指的是a对象的方法应用到b对象上*/ a.func.apply(b) // 主要是参数的区别

代码示例:

什么叫传承定义,传承和流传的区别(6)

构造函数继承的优点:

使子类Child在创建对象的同时传递参数到父类Parent

构造函数继承的缺点:

无法进行函数的复用,a的原型中定义的方法也无法继承。

3. 组合继承(将原型链继承和借用构造函数继承组合起来)

主要思想是:使用原型链实现对a原型属性和方法的继承,通过构造函数实现对a实例属性的继承。

代码示例如下:

什么叫传承定义,传承和流传的区别(7)

缺点:要调用两次超类型的构造函数(注释的两个地方)

4. 原型式继承

主要思想是:实现对父类的浅复制,产生一个副本

Object.create()函数实现的就是原型式继承

代码示例如下:

什么叫传承定义,传承和流传的区别(8)

上一页123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.