3
我有一個實體類與destroy()
函數。AS3 - 擴展函數?
我也有一個Enemy類擴展實體,我想添加一些行到destroy()
函數。
有沒有辦法在ActionScript 3中擴展功能,或者是複製粘貼的方式?謝謝。
我有一個實體類與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