![]() |
Цитата:
Не должен подкласс создаваться раньше суперкласса. Как тебе еще такая метафора: "потомок рождается раньше предка, потому что ему нужны новые черты лица, которых у предка не было") Она сюда подходит как нельзя лучше. Даже названия те же) Цитата:
|
Ты рассуждаешь о композиции, а не о наследовании. Когда кот мурзик рождается на свет, то это одно целое - кот. Он не выходит по частям: сначала появилось некое животное, а потом к нему приклеили усы и хвост. Нет это просто кот, он не рождается позже или раньше кого-то, он сам по себе. И являясь животным, при этом он обладает своими собственными свойствами и поведением, которое у "базового животного" может отличаться или отсутствовать. Поэтому кот, как целое, волен вызывать суперконструктор, исходя из своего собственного поведения. В конце концов конструктор - это тот же метод как и прочие. А если переопределив какой-то метод нам необходимо вызвать внутри этого метод супер версию, то мы обязаны, следую твоей логике, делать этот вызов исключительно вначале? Или, все же исходя из того, какое поведение тебе нужно получить?
upd: Другое дело, что до рождения кота, мы не можем его заставить ходить или мяукать, поэтому нет смысла вызывать мяу(), до того как кот будет создан, но сам процесс создания мы можем контролировать. |
udaaff, можешь привести пример "необходимых перед вызовом super()" действий?
|
|
|
Чем тебя пример не устраивает?
|
Тем, что он какой-то нелепый. Независимо от того, что ты хочешь переопределить, все равно будет вызван super() и родительский init(). Таким образом никакой необходимости делать что-то до super() все еще не видно.
|
Речь идет о переопределенном методе init().
Код AS3:
|
А такой пример?
Код AS3:
|
Цитата:
А вот Wolsh привел хороший пример, да. |
| Часовой пояс GMT +4, время: 19:10. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.