![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Не будет такой возможности, компилятор не Нострадамус, чтобы знать, что в данная переменная ссылается на экземпляр класса Sprite, а не Array или вообще String. Вы указали, что это IMyInterface, значит там гарантированно будут методы IMyInterface и ничего более.
|
|
|||||
|
стервочка (я мужик)
|
|
|
|||||
|
Извиняюсь, я ошибся в тестовом файлике.
И еще etc во втором посте ввел в заблуждение -) Все логично и все работает правильно (продолжаю думать что автогенератор интерфейсов существует-) ) Проблему автора топика нужно искать в конкретном коде.
__________________
Сам себе репортер |
|
|||||
|
strange mood
|
Хм, похоже я понял в чём проблема.
Если описывать картину подробнее, то есть базовый класс, который наследуется от спрайта, и несколько потомков, наследующихся от этого базового класса. И для того чтобы ссылаться на один из потомков, есть переменная, объявленная с типом интерфейса. Пожалуй что компилятору и правда неоткуда узнать, что там ещё и спрайт. Но вопрос всё же актуален: как это лучше организовать? (кроме написания ISprite) Альтернативный метот заключался в том, чтобы сделать ссылку типа базового класса, а в нём самом наопределять методов-пустышек, которые нужно оверрайдить в потомках. По-моему тоже довльно криво. Эх, где абстрактные классы, когда они так нужны...
__________________
тонкий тролль, осеянный благодатью |
|
|||||
|
стервочка (я мужик)
|
terbooter, нету генератора интерфейсов. просто интерфейс является типов представления данных. как и класс.
GAIKER, а чем Вам тут помогут абстрактные классы? проблемы останутся теми же. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:03. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|