在objective-c中,如果特定方法被其(调用)子(ren)覆盖,如何在超类中确定?
例如,在下面,子类 Z 没有覆盖方法 b,因此基类 X 会做一些额外的默认处理。然而,ZY 确实在子类 Y 中实现了 b,因此不需要默认处理。
// base class X
-(void)a
{
// do something
}
-(void)b
{
if("no_child_has_implemented_b") {
// add some default behavior
}
}
// child class Y : X
-(void)a
{
[super a];
}
-(void)b
{
[super b];
}
// child class Z : X
-(void)a
{
[super a];
}
// child class ZY : X
-(void)a
{
[super a];
}