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();