【问题标题】:virtual functions in Objective CObjective C 中的虚函数
【发布时间】:2011-05-10 14:38:34
【问题描述】:

如何在 Objective C 中声明虚函数。

virtual void A(int s);

如何在 Objective C 中声明它。

-(void)A:(int)s //normal declaration

【问题讨论】:

标签: objective-c


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多