Рассмотрим следующий класс
class A{
public void init(){
//do this first;
}
public void atEnd(){
//do this after init of base class ends
}
}
class B1 extends A{
@Override
public void init()
{
super.init();
//do new stuff.
//I do not want to call atEnd() method here...
}
}
У меня есть несколько дочерних классов B1, B2,... Bn, которые уже разработаны. Все они расширяют класс A. Если я хочу добавить новую функциональность во всех них, лучшим местом для этого является определение этого метода в классе A. Но условие состоит в том, что метод всегда должен вызываться автоматически непосредственно перед метод init() дочернего класса заканчивается. Один из основных способов сделать это - снова добавить вызов метода atEnd() в конце метода init() дочерних классов. Но есть ли другой способ сделать это с умом?