如果我想在
的实现中添加一些东西public static function createPopUp(parent:DisplayObject,
className:Class,
modal:Boolean = false,
childList:String = null,
moduleFactory:IFlexModuleFactory = null):IFlexDisplayObject
{
return impl.createPopUp(parent, className, modal, childList, moduleFactory);
}
我是否必须将所有参数放在我的函数声明中,或者是否隐式拾取它们?
答案 0 :(得分:2)
是 - ActionScript不支持仅覆盖方法重载,在这种情况下,方法的签名必须与重写方法的签名完全匹配。
但是你试图覆盖一个在ActionScript中根本不可能的静态方法。如果你想在代码片段中创建你的类不继承任何东西,可以在里面放一个静态的createPopUp方法,让它从你要装饰的类调用静态createPopUp方法,并调用你的类静态方法而不是原始方法。
这种对合理继承(或根本不继承)静态方法的不可能性是为什么人们应尽量避免使用静态的原因之一 - 静态学会剥夺OO语言的继承权。