我正在用 javascript 编写一些对象(我猜是类)。B 类继承自 A 类。A 类有一个名为 isValid 的方法,B 类会覆盖该方法。我正在使用 YUI 扩展函数让 B 类扩展 A 类。
A = function(){
}
A.prototype = {
isValid:function(){
/* Some logic */
return booleanValue;
}
}
B = function(){
}
YAHOO.lang.extend(B, A,{
isValid:function(){
// call class A's valid function
// some more logic for class B.
return booleanValue;
}
});
我想要做的是在 B 类的 isValid 函数中调用 A 类的 isValid 函数。问题是,我可以从 B 类的 isValid 方法访问 A 类的 isValid 方法吗?我知道您可以使用以下行从 B 类的构造函数内部访问 A 类的构造函数
this.constructor.superclass.constructor.call(this,someParam);
方法是否有类似的可能?如果没有,这样做的好做法是什么?目前我正在制作一个在超类中调用的辅助方法'isValid 方法
A.prototype = {
a_isValid:function(){
// class A's is valid logic
return booelanValue;
},
isValid:function() {return this.a_isValid();}
}
然后我可以从 B 类调用 a_isValid 函数。这对我有用,但如果可能的话,我更愿意直接调用超类的 isValid 函数。