简介:继承是OO语言中的一个最为人津津乐道的概念。许多OO语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。
但是JS的函数并没有签名,所以在ECMAScript中无法实现接口继承。ECMAScript只支持实现继承。而且其实现继承只要是靠原型链来实现的。
1、原型链:
ECMAScript中描述了原型链的概念,并将原型链作为实现继承的主要方法。
基本思想:利用原型让一个引用类型继承另一个引用类型的属性和方法。
简单回顾下构造函数、原型和实例的关系:每个构造函数都有一个原型对象,每个原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。
那么假设我们让原型对象等于另一个类型的实例,结果会怎么样?