![]() |
|
||||||||||
|
|||||
|
super и parent - это разные вещи
переопределение метода - это вообще не отсюда =) Когда переопределяется родитель - ваш объект встает в новое место в иерархии отображения. Соответственно, его parent меняется. Значит, мы можем обратиться к this.parent и вызвать его некий метод (или к this.parent.parent...parent... и так сколько нужно) Отследить переопределение родителя можно по событию Event.ADDED про super Вот есть у Вас класс, который наследуется от MovieClip Что это значит? Это значит, что объект Вашего класса будет обладать всеми свойствами и методами класса MovieClip И свойствами и методами, которые Вы описали в Вашем классе И когда пишем super.addChild(...) - это то же самое, что написать this.addChild(...) Вернее говоря, то же самое до тех пор, пока вы не переопределите метод addChild() в классе наследнике. Если вы его переопределите, то он может делать вообще что-нибудь другое, например удалять ребенка вместо его добавления на сцену. В таком случае - this.addChild() и super.addChild() будут делать разные вещи. Во всех остальных - то есть нет переопределения метода - это одно и то же и можно писать и так и так, как Вам удобнее
__________________
...вселенская грусть |
|
|||||
|
Все это я знаю и так))) Спасибо за напоминание. Наверное я просто некорректно задал вопрос.
У меня есть класс А с методом metod(). У класса А есть наследник класс В с переопределенным metod(). Так же есть класс С который расширяет В. Так вот мне надо в классе С переопределить metod(), но при этом вызвать в начале super.metod(); класса А, а не класса В. Не спрашивайте зачем))) надо. Возможно ли так сделать. |
|
|||||
|
Регистрация: Feb 2010
Сообщений: 33
|
Напрямую его вызвать не удасться, но можно исхитриться, например поставив флаг на исполнение содержимого метода в классе B.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 06:59. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|