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