![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2008
Сообщений: 205
|
Как сделать так чтобы наследник базового класса, например BaseObject'а в обязательном порядке должен был перегрузить некоторые методы и это возможно было бы проверять на этапе компиляции? Иными словами это как если сделать имплементацию интерфейса, только интерфейс используется в базовом классе.
|
|
|||||
|
Никак. Только на этапе исполнения с RTE.
Перегрузка подразумевает изменение сигнатуры. Перегрузки в AS3 нет.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 205
|
Т е получается что для каждого наследника мне придется помнить что нужно указать какой интерфейс он должен имплементировать?
|
|
|||||
|
Нет, ничего ненужно. BaseClass implements IBase, наследник BaseClass тоже будет IBase.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 205
|
Угу только в IBase я определю метод для имплементации show(), в BaseClass я буду вынужден этот метод имплементировать (иначе компилятор ругнется), а наследнику этот уже имплементированный метод достанеся в наследство и никто не "напомнит" его в наследнике переопределить. Вопрос именно в этом принудить программиста в наследниках переопределять методы доставшиеся от базового класса.
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Зачем наследовать класс, если ничего наследовать от него не нужно (мысли вслух).
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 205
|
Затем что это абстрактный класс. Но вам, как я понял ничего об этом неизвестно.
|
|
|||||
|
чтоб на этапе компиляции контролировать - да
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
2) Странное дело.. Даже если бы разведка успела - я все равно задал бы этот вопрос. Абстрактный класс предполагает невозможность создания экземпляра (Delphi с их оригинальным взглядом "можно, но вызовет ошибку" в расчет не берем, да). Какое отношение это имеет к Вашему вопросу? В определении Абстрактного класса нигде не сказано, что он НЕ ДОЛЖЕН содержать реализаций. Он МОЖЕТ не содержать реализаций (как и любой другой класс). То, о чем пишете Вы - Интерфейс в чистом виде. Именно он "потребует" создать нужные методы в "наследниках" и явно напомнит об этом на этапе компиляции. Да Вы и сами это отлично понимаете, так что вопрос так и остался в силе.
__________________
Reality.getBounds(this); |
|
|||||
|
только если наследники реализуют этот интерфейс, правильно? То есть в каждом классе наследника должно быть - implements IBase.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|