AS3 - 扩展函数?

问题描述:

我有一个实体类与destroy()函数。AS3 - 扩展函数?

我也有一个Enemy类扩展实体,我想添加一些行到destroy()函数。

有没有办法在ActionScript 3中扩展功能,或者是复制粘贴的方式?谢谢。

您需要标记与override关键词的方法,并从那里使用相同的命名空间(publicprotected等)和名称组成你想在你扩展的类要覆盖的方法。

该方法还必须有相同的返回类型,并接受相同的参数

样品覆盖:

override public function destroy():void 
{ 
    // add more code 

    super.destroy(); 
} 

如果排除其内容super.destroy()行,基类中的函数不会运行,只会使用您的新代码。

+0

谢谢!我认为super()只能用于构造函数。 – apscience

+0

Super只是对基类进行扩展的引用,通常每当你重载一个函数时,你应该总是调用super.funcName()有时候这不是必须的,但这是一个很好的习惯。 –

+0

这很好,因为您可以将声明放置在重载函数中的任意位置,这意味着您可以决定是否需要在新代码之前,之后或之间的任何地方运行扩展类中的代码。 – Marty