ActionScript - 无匹配签名的覆盖方法?

时间:2010-10-08 05:50:24

标签: actionscript-3 methods override

扩展类时,如果不匹配参数,是否无法覆盖方法?

例如,我想使用方法的名称,在这种情况下,它是套接字扩展,我想要覆盖的方法是connect。但是,我想要请求库存connect功能不要求的其他参数。

是使用我自己的参数创建自己的类连接方法的唯一选择,从这个函数调用super.connect并覆盖股票连接函数,如果它被调用则抛出错误?

所有类似的声音都像火车一样残骸。

2 个答案:

答案 0 :(得分:5)

ActionScript不支持

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的更多信息。