У меня есть базовый класс («Мастер»), который реализует сеттер (назовем его «а»). Существует еще один класс, который расширяет Master («Extended») и переопределяет сетку «a».Вызов super.setter вызывает геттер без видимых причин
Геттер для «a» каждый раз возвращает новый экземпляр объекта и также переопределяется в расширенном классе.
Переопределенный сеттер выглядит примерно так:
override public function set a(value:Object):void
{
doSomethingWithValue(value);
super.a = value;
doSometingExtraWithValue(value);
}
Теперь для магии, что происходит: всякий раз, когда переопределяется сеттер называется, момент super.a = value
выполняется, переопределенный геттер быть вызван без причины бы то ни было.
Почему, вопрос. Существует не какое-либо правило, в котором говорится, что «call getter при вызове сеттера», есть ли?
Как выглядит главный сеттер? Вы называете геттер там? – Larusso
Мастер-установщик просто '_a = value', никакой ссылки на геттер никак. –