PDA

Просмотр полной версии : Вызов метода другого класса через статическую переменную


Elidan
01.01.2011, 22:25
Хотел узнать мнение про вызов метода другого класса через статическую переменную . Стоит ли так делать или есть более правильные способы?

alatar
02.01.2011, 11:32
Какой в этом смысл?
или есть более правильные способы?
Способы чего? Вызовов методов классов?

Elidan
02.01.2011, 14:43
Специально для тех кто не понял вопроса:
Допустим есть класс main и класс hero, в main создаю экземпляр hero. Нужно вызвать метод main из hero. Я в main создаю статическую переменную и через неё вызываю методы main. Стоит ли так делать или есть более правильные способы?

Bgg
02.01.2011, 14:59
Статическими методами вообще не стоит злоупотреблять. Что бы вызвать метод из Main можно послать событие из Hero.


public class Main()
{
public static var EVENT_MAIN_METHOD:String = "eventMainMethod";

public function Main() extends Sprite
{
addEventListener(EVENT_MAIN_METHOD, method);
addChild(new Hero());
}
private function method(event:Event):void
{
trace("method called");
}
}
...
public class Hero() extends Sprite
{
public function Hero()
{
addEventListener(ADDED_TO_STAGE, addedToStage);
}
private function addedToStage():void
{
removeEventListener(ADDED_TO_STAGE, addedToStage);

dispatchEvent(new Event(EVENT_MAIN_METHOD), true));
}
}

alatar
02.01.2011, 15:32
Стоит ли так делать или есть более правильные способы?
Не стоит. Правильно будет как написал Bgg. Можно еще передать в Hero ссылку на main. Это лучше чем статик, но хуже события.