组合继承(combination inheritance):将原型链和借用构造函数(constructor stealing)组合一起。
原理:使用原型链实现对原型属性和方法的继承,使用借用构造函数实现对实力属性的继承
构造步骤:
- 超类型构造函数定义
- 拓展超类型构造函数的原型对象(可以加方法、属性)
- 子类型构造函数,通过借用构造函数,完成构造函数的定义
- 子类型继承超类型 ==> 子类型构造函数的原型对象 等于 超类型构造函数的实例
- 修改constructor的指向 SubType.portotype.constructor = SubType
- 扩展子类型构造函数的原型对象
- 通过子类型构造函数生成实例对象 Demo:
|
|