Показать сообщение отдельно
Старый 11.03.2015, 13:17
callme вне форума Посмотреть профиль Отправить личное сообщение для callme Найти все сообщения от callme
  № 6  
Ответить с цитированием
callme
 
Аватар для callme

Регистрация: Dec 2014
Сообщений: 312
А если такой пример.

Собака может родить либо щенка, либо котенка. При этом собака отправляет событие TransportEvent.

Код AS3:
public function TransportEvent(cargo:Object, type:String, bubbles:Boolean=false, cancelable:Boolean=false)
{
    super(type, bubbles, cancelable);
    _cargo = cargo;
}

Вариант реализации #1

Код AS3:
var dog:Dog = new Dog();
dog.addEventListener(DogEvents.DOG_BIRTH, listener);
 
function listener(event:TransportEvent)
{
 
}

Вариант реализации #2

Код AS3:
var dog:Dog = new Dog();
dog.addEventListener(TransportEvent.TRANSPORT, listener);
 
function listener(event:TransportEvent)
{
    if (event.cargo is Dog) ...
}

Какой из этих двух вариантов правильный и почему?



P.S. Переменная cargo типа Object потому что я не хочу создавать кучу классов, которые будут отличаться от TransportEvent только типом переменной cargo.