许多OO语言都支持两种继承方式:接口继承和实现继承.接口继承只继承方法签名,而实现继承则继承实际的方法.由于函数没有签名,在ECMAScript中无法实现接口继承,只支持实现继承,而且主要依靠原型链来实现继承. 6.3.1 原型链 原型链,其基本思想是利用原型让一个引用类型继承另 ...
许多OO语言都支持两种继承方式:接口继承和实现继承.接口继承只继承方法签名,而实现继承则继承实际的方法.由于函数没有签名,在ECMAScript中无法实现接口继承,只支持实现继承,而且主要依靠原型链来实现继承.
6.3.1 原型链
原型链,其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法.
构造函数,原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针.如果我们让原型对象等于另一个类型的实例,那么原型对象将包含一个指向另一个原型的指针,相应地,另一个原型中也包含着一个指向另一个构造函数的指针.如此层层递进,就构造了实例与原型的链条.这就是所谓原型链的基本概念.
function SuperType(){ this.property=true; } SuperType.prototype.getSuperValue=function(){ return this.property; }; function SubType(){ this.subproperty=false; } //继承了SuperType SubType.prototype=new SuperType(); SubType.prototype.getSubValue=function(){ return this.subproperty; }; var instance=new SubType(); console.log(instance.getSuperValue());//true
原标题:高程6.3继承
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。