![]() |
|
||||||||||
|
|
|
|||||
|
А мне было бы круто просто наследовать от EventDispatcher`а вторым классом, чем реализовывать IEventDispatcher.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Jun 2010
Сообщений: 189
|
Покажите, пож., пример реализации IEventDispatcher. В хелпе непонятно как-то ((.
|
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Показываем:
package { import flash.events.Event; import flash.events.EventDispatcher; import flash.events.IEventDispatcher; public class MyIEventDispatcher extends Object implements IEventDispatcher { public function MyIEventDispatcher() { _eventDispatcher = new EventDispatcher( this ); } private var _eventDispatcher:EventDispatcher; public function dispatchEvent( event:Event ):Boolean { return _eventDispatcher.dispatchEvent( event ); } public function hasEventListener( type:String ):Boolean { return _eventDispatcher.hasEventListener( type ); } public function willTrigger( type:String ):Boolean { return _eventDispatcher.willTrigger( type ); } public function removeEventListener( type:String, listener:Function, useCapture:Boolean=false ):void { _eventDispatcher.removeEventListener( type, listener, useCapture ); } public function addEventListener( type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false ):void { _eventDispatcher.addEventListener( type, listener, useCapture, priority, useWeakReference ); } } }
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Цитата:
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 137
|
А кто это?
Через некоторое время: Почитал. Ясно... А какова их мотивация? Последний раз редактировалось semenyakinVS; 15.01.2011 в 22:31. Причина: Почитал кто это |
|
|||||
|
Вы тут описывали нам Декоратор. Так вот он тоже с приставкой GoF.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Цитата:
второй минус - иерархия классов чаще выглядит как граф, а не как дерево и не вписывается в одиночное наследование (про множественное ничего не знаю), третий минус - невозможность динамически изменять дерево наследования (ну это, если требуется) А разработчики as3 видимо посмотрели на Java, С#, D, ... и решили что и as3 без множественного наследования обойдется Считается что оно проблемы создает Последний раз редактировалось expl; 15.01.2011 в 23:57. |
|
|||||
|
Пример реализации EventDispacher с помощью композиции:
Удалил, потому что пример был выше, просто чет не заметил его... P.S. На написание ушло не более 1 минуты... Медленнее чем просто унаследоваться, но не так уже и страшно... Добавлено через 7 минут Страуструп при создании стандарта С++ 2.0 от множественного наследования избавился... Хотя шанс, что этот язык когда нибудь появится в реальности, не так уж и велик...
__________________
Искренне Ваш, Джек. Последний раз редактировалось JackFromChaos; 16.01.2011 в 01:10. |
|
|||||
|
Имхо множественное наследование - это геморрой)))
Видимо я не один такой. С множественным наследованием в разы проще запутаться в своей же иерархии. Интерфейсы многое решают, единственное что меня смущает в интерфейсах - я должен в любом случае переопределять заявленные в интерфейсе методы. Т.е. интерфейс он типа как просто обязалово для разраба, мол хочь не хочь, а вот этот набор методов ты должен описать, раз уж интерфейс имплементируешь. В остальном же - я не знаю ситуаций где множественное наследование уж настолько необходимо, гораздо проще для понимания именно композиция, та и пользоваться удобнее, пофиг что лишняя точка в имени метода/параметра появляется. Добавлено через 1 минуту И вся ветка кажись завязалась вокруг диспатчера, с ним вообще проблем не вижу, та и примеров накидали кучу уже.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
JackFromChaos, зачем писать точно такой же код, если он уже написан в посте номер 21?
__________________
Загружаем картинки, минуя ошибки безопасности Последний раз редактировалось i.o.; 16.01.2011 в 01:10. |
![]() |
![]() |
Часовой пояс GMT +4, время: 05:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|