你完全错了。流行的建筑是有:
B类.h
@interface ClassB
- (void)method;
@end
B类.m
@interface ClassB()
@end
@implementation ClassB
- (void)method
{
//do nothing or even assert false
}
@end
类A.h
@interface ClassA : ClassB
@end
类A.m
@interface ClassA()
@end
@implementation ClassA
- (void)method
{
//do your stuff here
}
@end
这就是所谓的方法覆盖。但是,如果我正确理解您要实现的目标,您应该拥有:
B类.h
@interface ClassB
- (void)method;
@end
B类.m
@interface ClassB()
@end
@implementation ClassB
- (void)method
{
//do your stuff here
}
@end
类A.h
@interface ClassA : ClassB
@end
而且不用乱搞ClassA,可以调用
ClassA *o=[[ClassA alloc ] init];
[o method];
然后method
由于从 ClassB 继承,所以在 classA 中可用。