当子类的方法与超类同名时,子类的方法会覆盖超类的这个同名方法。这相当于对方法进行重写。在方法重写时,主要是为了扩展功能,而不是要完全覆盖超类中的方法。下面我们就以toString()方法为例,来看一下子类怎样来调用父类中的同名方法:
超类的toString()方法:
子类重写这个方法并调用父类中的这个方法:
这样,利用apply()方法,从而调用 到了超类的那个同名方法。
超类的toString()方法:
Rectangle.prototype.toString=function(){
return "["+this.width+"","+this.height+"]";
}
子类重写这个方法并调用父类中的这个方法:
PositionedRectangle.prototype.toString=function(){
return "("+this.x+","+this.y+")"+Rectangle.prototype.toString.apply(this);
}
这样,利用apply()方法,从而调用 到了超类的那个同名方法。