考虑下面的类
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() 方法结束。这样做的一种基本方法是在子类的 init() 方法的末尾再次添加 atEnd() 方法调用。但是有没有其他方法可以巧妙地做到这一点?