JavaScript之继承

来源:互联网 发布:耐脏打扮知乎 编辑:程序博客网 时间:2024/06/07 02:22

继承是面向对象中一个比较核心的概念。 其他正统面向对象语言都会用两种方式实现继承:一个是接口实现,一个是继承。而 ECMAScript 只支持继承,不支持接口实现,而实现继承的方式依靠原型链完成。

JavaScript之继承


JavaScript之继承

在 JavaScript 里,被继承的函数称为超类型(父类,基类也行,其他语言叫法),继承的函数称为子类型(子类,派生类)。继承也有之前问题,比如字面量重写原型会中断关系,使用引用类型的原型,并且子类型还无法给超类型传递参数。为了解决引用共享和超类型无法传参的问题,我们采用一种叫借用构造函数的技术, 或者成为对象冒充(伪造对象、经典继承)的技术来解决这两种问题。

JavaScript之继承

借用构造函数虽然解决了刚才两种问题,但没有原型,复用则无从谈起。所以,我们需要 原型链 + 借用构造函数的模式,这种模式成为 组合继承。

JavaScript之继承

0 0
原创粉丝点击