在传统的面向对象语言中,通常都会提供一种用于子类访问父类的特殊语法,因为我们在实现子类方法往往需要其父类方法的额外辅助。在这种情况下,子类通常就需要去调用父类中的同名方法,以便最终完成工作。
接下来,让我们再对之前的示例做一些修改,在构建继承关系的过程中引入一个under属性,并令其指向其父级原型对象:
function Shape(){} Shape.prototype.name=‘shape‘; Shape.prototype.toString=function(){ var result=[]; if(this.constructor.under){ result[result.length]=this.constructor.under.toString(); } result[result.length]=this.name; return result.join(‘, ‘); }; function TwoDShape(){} var F=function(){} F.prototype=Shape.prototype; TwoDShape.prototype=new F(); TwoDShape.prototype.constructor=TwoDShape; TwoDShape.uner=Shape.prorotype; TwoDShape.prototype.name=‘2D shape‘; function Triangle(side,height){ this.side=side; this.height=height; } var F =function(){} F.prototype=TwoDShape.prototype;
时间: 2024-10-31 16:52:08