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

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

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

Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
Всё. Я опять похоже "запоролся". Вся эта конструкция работает при условии, что у наследников нет никакой "отсебятины" и они только переопределяют методы супера. Так?
__________________
Не сломано - не чини!

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ну да, так.
Как только пошла отсебятина — надо приводить к нужному конкретному классу, у которого эта отсебятина.

Добавлено через 18 минут
То есть если ты создашь у класса Rock кастомный метод playDoors(), то не сможешь вызвать его у переменной rock:Polymorphism. Тебе придется кастовать ее к типу Rock, у которого есть этот метод:
Код AS3:
(rock as Rock).playDoors();
Тогда компиллятор пропустит.
Однако, если в переменной rock на этот момент окажется не экземпляр класса Rock, то будет ошибка уже в runtime, потому что кастинг вернет null, у которого нет метода playDoors(). Поэтому придется всю конструкцию зашить еще и в проверку:
Код AS3:
if (rock is Rock) (rock as Rock).playDoors();
__________________
Reality.getBounds(this);

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Appleman, тебе просто нужно по-больше опыта наработать, чтобы всё понять. Со временем понимание таких штук записывается просто на уровень ДНК)) Когда сразу много информации попадает в голову, она просто превращается в кашу. Пиши игры, приложения, не забрасывай это дело и тогда точно всё поймёшь
__________________
Ко мне можно и нужно обращаться на ты)

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

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

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


 


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


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