Наверняка вы не переопределяете метод.
Сейчас набросаю пример на коленке. Одну минуту.
Добавлено через 2 минуты

Код AS3:
class ButtonBase() {
public function ButtonBase() {
init();
}
protected function init():void {
// какой-то код
}
}

Код AS3:
class Button extends ButtonBase() {
public function ButtonBase() {
super();
}
override protected function init():void {
// какой-то ДРУГОЙ код
}
}

Код AS3:
new Button();
В результате чего init() вызовется как бы в классе родителя, но это будет ПЕРЕОПРЕДЕЛЕННЫЙ метод.