Вместо того, чтобы расширять класс, я обычно создаю автономные служебные функции, например:
package com.example.utils
{
public function doSomethingToPoint(p:Point):void
{
//do something
}
}
Поместите его в файл с именем doSomethingToPoint.as, и все готово.Он работает так же, как встроенные функции уровня пакета, такие как flash.net.navigateToURL
.Просто импортируйте и используйте функцию напрямую.
import com.example.utils.doSomethingToPoint;
var p:Point = new Point();
doSomethingToPoint(p)
В качестве альтернативы вы можете создать служебный класс с несколькими связанными статическими функциями, например:
package com.example.utils
{
public class PointUtil
{
public static function doSomethingToPoint(p:Point):void
{
//do something
}
//other functions here
}
}
Вы бы использовали класс иего функции таковы:
import com.example.utils.PointUtil;
PointUtil.doSomethingToPoint(p);
Лично я предпочитаю создавать автономные функции, чтобы моим проектам не нужно было компилировать дополнительные статические функции, которые фактически нигде не используются, но у каждого есть свои предпочтения.