Интересно, возможно ли получить доступ к методу, объявленному в родительском классе, который был переопределен (извините за мой английский, если я сделаю какие-либо ошибки). Фрагмент кода:
#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;
}
Итак, мой вопрос, как я могу вызвать метод 'message', определенный в родительском классе, когда указатель Parent * указывает на дочерний объект. Objective-C (будучи чисто динамическим языком) автоматически вызывает метод Child, но возможно ли вызвать метод родительского класса извне, через указатель * p? Я имею в виду, что когда я отправляю сообщение «message» на «p», на экране будет отображаться не «Child», а «Parent».
Спасибо.