3 つのクラスがあり、一方が他方のサブクラスであると仮定します。それぞれが親のメソッドを上書きします。
public class BaseClass {
public void doStuff() {
performBaseTasks();
}
}
public class MiddleClass extends BaseClass {
// {BaseClass} Overrides
public void doStuff() {
performMiddleTasks();
super.doStuff();
}
}
public class FinalClass extends MiddleClass {
// {BaseClass} Overrides
public void doStuff() {
performFinalTasks();
super.doStuff();
}
}
を呼び出すとnew FinalClass().doStuff()
、メソッドの呼び出し順序は次のようになります。
performFinalTasks();
performMiddleTasks();
performBaseTasks();
perfomFinalTasks()
と の間performMiddleTasks()
に
持っていきたいperformBaseTasks()
。これどうやってするの?
performMiddleTasks();
performFinalTasks();
performBaseTasks();