Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.02.2010, 11:56
Aloran вне форума Посмотреть профиль Отправить личное сообщение для Aloran Найти все сообщения от Aloran
  № 1  
Ответить с цитированием
Aloran

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
По умолчанию переопределение подписки на событие

Добрый день.
Имеем супер-класс с protected методом metod(), в котором наряду с другим кодом есть подписка на событие А. У супер-класса есть наследник, в котором переопределяется metod(). Необходимо подписку на событие А убрать, и заменить его на подписку события В. При этом в переопределенном metod() вначале идет super().
Подскажите пожалуйста как это сделать.

Старый 25.02.2010, 12:18
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 2  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Переопределять весь метод целиком, без вызова super;
Вынести подписку на событие в классе-предке в отдельный метод, который переопределить в классе-потомке.
__________________
#flasher@irc.trg.ru:6667

Старый 25.02.2010, 12:32
Aloran вне форума Посмотреть профиль Отправить личное сообщение для Aloran Найти все сообщения от Aloran
  № 3  
Ответить с цитированием
Aloran

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
К сожалению оба этих подхода мне не подходят

Старый 25.02.2010, 13:26
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Можно super() вызывать по условию, однако смысл переопределения без super() я не понимаю.

Старый 25.02.2010, 13:33
Aloran вне форума Посмотреть профиль Отправить личное сообщение для Aloran Найти все сообщения от Aloran
  № 5  
Ответить с цитированием
Aloran

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Можно super() вызывать по условию, однако смысл переопределения без super() я не понимаю.
Я же написал что super() есть.

Старый 25.02.2010, 13:39
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 6  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Код AS3:
protected function method():void
{
super.method();
removeEventListener("A",aListener);
addEventListener("B",bListener);
}
__________________
Отряд Котовскага

Старый 25.02.2010, 13:49
Aloran вне форума Посмотреть профиль Отправить личное сообщение для Aloran Найти все сообщения от Aloran
  № 7  
Ответить с цитированием
Aloran

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
Цитата:
Сообщение от Котяра Посмотреть сообщение
Код AS3:
protected function method():void
{
super.method();
removeEventListener("A",aListener);
addEventListener("B",bListener);
}
Дело в том что aListener - приватная функция...

Старый 25.02.2010, 13:57
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ну так сделайте оную как protected.

Старый 25.02.2010, 14:08
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 9  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
Цитата:
однако смысл переопределения без super() я не понимаю
а он иногда есть
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 25.02.2010, 15:16
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 10  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
Сообщение от etc Посмотреть сообщение
Ну так сделайте оную как protected.
Вероятнее всего, Aloran хочет расширить сторонний класс, который нельзя трогать..
Ну раз нельзя так нельзя.. переопределяйте method без super -
- что? там используются недоступные приватные методы, которые надо вызвать?
- какой ужас...
__________________
Отряд Котовскага

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:12.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.