![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
|
Всё. Я опять похоже "запоролся". Вся эта конструкция работает при условии, что у наследников нет никакой "отсебятины" и они только переопределяют методы супера. Так?
__________________
Не сломано - не чини! |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ну да, так.
Как только пошла отсебятина — надо приводить к нужному конкретному классу, у которого эта отсебятина. Добавлено через 18 минут То есть если ты создашь у класса Rock кастомный метод playDoors(), то не сможешь вызвать его у переменной rock:Polymorphism. Тебе придется кастовать ее к типу Rock, у которого есть этот метод: Тогда компиллятор пропустит. Однако, если в переменной rock на этот момент окажется не экземпляр класса Rock, то будет ошибка уже в runtime, потому что кастинг вернет null, у которого нет метода playDoors(). Поэтому придется всю конструкцию зашить еще и в проверку:
__________________
Reality.getBounds(this); |
|
|||||
|
Appleman, тебе просто нужно по-больше опыта наработать, чтобы всё понять. Со временем понимание таких штук записывается просто на уровень ДНК)) Когда сразу много информации попадает в голову, она просто превращается в кашу. Пиши игры, приложения, не забрасывай это дело и тогда точно всё поймёшь
__________________
Ко мне можно и нужно обращаться на ты) |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:26. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|