ActionScript - Частные параметры? - PullRequest
0 голосов
/ 16 ноября 2010

можно ли пометить параметры как закрытые, доступные / полезные только для класса, которому принадлежит функция?

пример:

//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
     }

Вместо перенаправления, есть ли лучший способ решения этой проблемы? может быть, «лучший способ» - плохой выбор слов. Есть ли способ реорганизовать этот код без использования функции пересылки или без необходимости принудительного включения пользователем параметра события.

1 Ответ

1 голос
/ 16 ноября 2010

Вы могли бы просто сказать это, если хотите иметь возможность звонить bounce без необходимого MouseEvent:

public function bounce(evt:MouseEvent=null):void
{
    //...
}

К вашему сведению, отскок не должен быть публичным ... он тоже может бытьчастная функция.К сожалению, AS3 не поддерживает перегрузку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...