gpt4 book ai didi

objective-c - 如何访问父类中声明的方法?

转载 作者:搜寻专家 更新时间:2023-10-30 20:07:20 25 4
gpt4 key购买 nike

我想知道是否可以访问父类中声明的方法,该方法已被覆盖(如果我有任何错误,请原谅我的英语)。代码片段:

#import <stdio.h>
#import <objc/Object.h>

@interface Parent : Object
-(void) message;
@end

@implementation Parent
-(void) message
{
printf("\nParent\n");
}
@end

@interface Child : Parent
//-(void) message;
@end

@implementation Child
-(void) message
{
printf("\nChild\n");
}
@end

int main(int argc, const char* argv[])
{
Parent* p = [[Child alloc] init];

[p message];

[p free];
return 0;
}

所以我的问题是,当 Parent* 指针指向 Child 对象时,如何调用父类中定义的“消息”方法。 Objective-C(纯动态语言)会自动调用Child的方法,但是否可以通过*p指针从外部调用父类的方法?我的意思是,当我将消息“消息”发送到“p”时,屏幕上将显示的不是“ child ”而是“ parent ”。

谢谢。

最佳答案

将子messgae方法修改为,

-(void) message
{
[super message];
printf("\nChild\n");
}

关于objective-c - 如何访问父类中声明的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5063484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com