扩展类时,如果不匹配参数,是否无法覆盖方法?
例如,我想使用方法的名称,在这种情况下,它是套接字扩展,我想要覆盖的方法是connect
。但是,我想要请求库存connect
功能不要求的其他参数。
是使用我自己的参数创建自己的类连接方法的唯一选择,从这个函数调用super.connect
并覆盖股票连接函数,如果它被调用则抛出错误?
答案 0 :(得分:5)
Function overloading(但Darron Schall在this article中演示了某种伪重载)。
我认为在您的情况下,只剩下创建自己的connectEx
方法。
答案 1 :(得分:0)
可悲的是,不支持重载。作为下一个最佳选择,您可以考虑可选参数。这将允许您根据需要传递少量或多个参数。该方法将在数组中接收这些参数,您可以从那时开始处理它们。
以下是使用可选参数的方法的外观:
function someMethod(...params):void
{
for(var i:int = 0 ; i < params.length ; i++ )
{
trace("parameter: " + params[i]);
}
}
您可以阅读有关optional parameters here的更多信息。