Цитата:
Следовательно, в этом классе нужно перекрывать родительские методы - а это неправильно.
|
Неправильно? Это один из принципов ООП, так сказать, один из трёх китов)
Цитата:
А неправильно, т.к. это нарушение инкапсуляции..
|
Нет, это неправильная архитектура изначально.
Если изначально планируется, что в базовом классе грузится какая-то картинка, а объекты дочерних классов должны знать об этом, то и архитектуру родительского класса надо делать сразу с учетом этого.
Если нужно дождаться загрузки картинки, то можно обработчику сделать модификатор protected и в дочернем классе просто его перезаписать
Код AS3:
// в базовом классе
protected function onImageLoaded(e:Event):void {
... добавляется картинка
}
// в наследнике
override protected function onImageLoaded(e:Event):void {
super.onImageLoaded(e);
.. тут добавляешь свои чекбоксы
}
Я бы вообще добавление чекбоксов вынес из конструктора в отдельный метод, и просто вызывал его после загрузки картинки
Код AS3:
override protected function onImageLoaded(e:Event):void {
super.onImageLoaded(e);
addCheckboxesAndOtherCrap();
}
как-то так