можно ли пометить параметры как закрытые, доступные / полезные только для класса, которому принадлежит функция?
пример:
//PRIVATE CLASS (.SWC)
public function set AutoBounce(value:Boolean):void
{
if (value)
addEventListener(MouseEvent.CLICK, bounce);
else
removeEventListener(MouseEvent.CLICK, bounce);
}
public function bounce():void //incorrect signature
{
//bounce ball
}
неверная подпись метода bounce (). чтобы облегчить прослушивание событий, оно должно быть public function bounce(evt:MouseEvent):void
. однако я не хочу, чтобы пользователь класса предоставлял этот параметр при вызове функции bounce (). поэтому, если бы я мог пометить параметр evt: MouseEvent как закрытый или скрытый от вызывающего класса, это решило бы проблему.
В настоящее время я просто перенаправляю прослушиватель событий на функцию пересылки:
//PRIVATE CLASS (.SWC)
public function set AutoBounce(value:Boolean):void
{
if (value)
addEventListener(MouseEvent.CLICK, forwardBounce);
else
removeEventListener(MouseEvent.CLICK, forwardBounce);
}
private function forwardBounce(evt:MouseEvent):void
{
bounce();
}
public function bounce():void
{
//bounce ball
}
Вместо перенаправления, есть ли лучший способ решения этой проблемы? может быть, «лучший способ» - плохой выбор слов. Есть ли способ реорганизовать этот код без использования функции пересылки или без необходимости принудительного включения пользователем параметра события.