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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.05.2010, 19:52
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 11  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Flash CS4 и FlashDevelop не выдают ошибку компиляции, только рантайм

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

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Ну я пишу в FlashDevelop, но компилю в CS3

Старый 07.05.2010, 22:43
cauchy вне форума Посмотреть профиль Отправить личное сообщение для cauchy Найти все сообщения от cauchy
  № 13  
Ответить с цитированием
cauchy
 
Аватар для cauchy

Регистрация: Jan 2009
Адрес: Северный островок дефолт-сити
Сообщений: 144
Спасибо за разъяснения, суть задачи понял (просто какое-то необычное чуть-чуть применение, поэтому долго не мог сообразить).
Чем помочь пока не знаю.

ps: если classA ничего не расширяет то компиляция проходит, если расширяет, например, Sprite то уже не компилится (ну впринципе логично, не может найти такой метод в спрайте).


Последний раз редактировалось cauchy; 07.05.2010 в 23:01.
Старый 07.05.2010, 23:22
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 14  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Можно попробовать:
Код AS3:
var prop:String="methodA";
super[prop];
Хотя у мяне компилилось и так даже если Sprite расширяло.

Добавлено через 50 секунд
Цитата:
Flash CS4 и FlashDevelop не выдают ошибку компиляции, только рантайм
Так подожди, это разве не значит что проблема решена?

Старый 08.05.2010, 09:37
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 15  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
В общем, понял что никак через super не получится. super всего лишь ссылка на базовый класс. Т.е если в базовом классе понадобится вызов непереопределенной функции, то реализовать лучше всего так (через приватную функцию):

Код AS3:
package
{
	public class ClassA
	{
		public function ClassA()
		{
		}
 
 
		public function methodA():String
		{
			return _super_methodA();
		}
 
		private function _super_methodA():String
		{
			return "ClassA::methodA()";
		}
 
	        public function methodA_super():String
		{
                        return _super_methodA();
		}
	}
}
Всем, кто принимал учвстие в обсуждении - спасибо)

Старый 08.05.2010, 22:51
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 16  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от i.o. Посмотреть сообщение
Есть класс, есть в нем объявленный метод methodA, который может быть переопределен наследником. Как мне в базовом классе вызвать без обходных путей непереопределенный метод methodA?
Код AS3:
package {
 
public class ClassA {
 
	public function methodA():String {
		return this.$methodA();
	}
 
	public function methodA_super():String {
		return this.$methodA();
	}
 
	/**
	 * @private
	 * реализация метода
	 */
	private function $methodA():String {
		return "ClassA::methodA()";
	}
 
}
}
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 09.05.2010, 04:41
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 17  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
dimarik, я всё ждал когда же они сами к этому придут, а ты всё испортил.

Старый 09.05.2010, 09:11
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 18  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
dimarik, большое спасибо. Этот было еще в постах номер 3 и 15. Знак $ сути не меняет )

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

Регистрация: Sep 2002
Сообщений: 30,784
Димка, постом выше было тоже самое

Старый 10.05.2010, 16:17
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 20  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
ахинея все... особенно после единственно правильного ответа в посте #6...
хотя может все просто из-за того что я не курю запрещенных трав...
__________________
Поймай яблоко 2!

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

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

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


 


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


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