寄生组合式继承

由于组合式继承在进行继承时,利用父类的new导致浪费了父类中的实例变量。为了解决这个问题,引入了寄生组合式继承。

寄生组合式继承

原理:

1.创建一个空的构造函数。利用这个构造函数创建一个实例obj;

2.1给obj添加一个属性prototype,让obj.prototype = superClass.prototype;

2.2给obj添加一个属性constructor,让obj.constructor = superClass;

3.让子类继承自obj,subClass.prototype = obj;

这样既保证了原型链,又节约了内存。


内存图

你可能感兴趣的:(寄生组合式继承)