父类是个虚类,假设
abstract class AAA
{
public void method()
{
//do something
}
public void doMethod()
{
method();
}
}
然后有个子类继承他:
abstract class BBB: AAA
{
new public void method()
{
//do something
}
}
我通过这样的方法进行调用:
AAA a = new BBB();
a.doMethod();
结果是调用了AAA的method方法,而不是子类BBB覆盖后的method方法。
是否可以像这样的调用,即子类没有覆盖父类的方法时 调用父类方法,如果覆盖则调用子类方法。
这个例子中,我尝试把doMethod方法移到子类中,则可以满足要求。
但是由于这是一个公共方法,如果不写在父类中,那么他的每个继承类都要写这么一句,很不利于后期的维护,是否有变通的方法呢?