AS3 - 扩展函数?
问题描述:
我有一个实体类与destroy()
函数。AS3 - 扩展函数?
我也有一个Enemy类扩展实体,我想添加一些行到destroy()
函数。
有没有办法在ActionScript 3中扩展功能,或者是复制粘贴的方式?谢谢。
答
您需要标记与override
关键词的方法,并从那里使用相同的命名空间(public
,protected
等)和名称组成你想在你扩展的类要覆盖的方法。
该方法还必须有相同的返回类型,并接受相同的参数
样品覆盖:
override public function destroy():void
{
// add more code
super.destroy();
}
如果排除其内容super.destroy()
行,基类中的函数不会运行,只会使用您的新代码。
谢谢!我认为super()只能用于构造函数。 – apscience
Super只是对基类进行扩展的引用,通常每当你重载一个函数时,你应该总是调用super.funcName()有时候这不是必须的,但这是一个很好的习惯。 –
这很好,因为您可以将声明放置在重载函数中的任意位置,这意味着您可以决定是否需要在新代码之前,之后或之间的任何地方运行扩展类中的代码。 – Marty