Показать сообщение отдельно
Старый 21.09.2016, 21:32
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 1  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Что же самое страшное в твоем примере? Например, у меня есть MyObject extednds DisplayObject (на самом деле extends DisplayObject нельзя, можно от других наследников DisplayObject). А вот в нем объявлен метод, например, moveTo(x, y). Такого метода, конечно, нет у DisplayObject и конструкция типа
Код AS3:
view = new cl() as DisplayObject;
view.moveTo(0, 0);
Вызовет при компиляции справедливый Error: нет такого метода у объекта с типом DisplayObject.
Что же, нам придется либо кастовать view к MyObject с проверкой результата приведения на null, либо... сама суть такого инстанцирования неправильна.

Твой пример показывает скорее всего то, как еще можно сделать, в обход проверки типизации в compile time. Такие случаи бывают, да. Например, ну, никак нельзя допустить вкомпиливания кода со всеми зависимостями в прелоадер. Тогда мы можем так поступить. И это осознанный шаг.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.