【发布时间】:2011-05-10 14:38:34
【问题描述】:
如何在 Objective C 中声明虚函数。
virtual void A(int s);
如何在 Objective C 中声明它。
-(void)A:(int)s //normal declaration
【问题讨论】:
-
所有 Objective-C 方法都是虚拟的。函数是由 C 语言构造的,不能是虚函数。
标签: objective-c
如何在 Objective C 中声明虚函数。
virtual void A(int s);
如何在 Objective C 中声明它。
-(void)A:(int)s //normal declaration
【问题讨论】:
标签: objective-c
Objective-c 不支持虚函数,或者换一种说法 - obj-c 类中的所有函数都是虚函数,因为方法调用是在运行时确定的。
如果您的子类覆盖了超类中的方法,并且您使用指向超类的指针引用子类实例,则将调用子类方法:
@interface A{
}
-(void) someMethod;
@end
@interface B : A{
}
-(void) someMethod;
@end
...
A* obj = [[B alloc] init];
[obj someMethod]; // method implementation from B will be called
【讨论】: