아래와 같이 Parent
과 Child
의 두 클래스가 있습니다. Parent
은 Child
의 수퍼 클래스입니다. super
키워드를 사용하여 서브 클래스에서 수퍼 클래스의 메서드를 호출 할 수 있습니다. 수퍼 클래스에서 서브 클래스의 메소드를 호출 할 수 있습니까?슈퍼 클래스에서 서브 클래스의 메소드를 호출하십시오.
Child.h
#import <Foundation/Foundation.h>
#import "Parent.h"
@interface Child : Parent {
}
- (void) methodOfChild;
@end
Child.m
#import "Child.h"
@implementation Child
- (void) methodOfChild {
NSLog(@"I'm child");
}
@end
Parent.h :
#import <Foundation/Foundation.h>
@interface Parent : NSObject {
}
- (void) methodOfParent;
@end
Parent.m : 응용 프로그램 대리인의하는 .m 파일 헤더에
#import "Parent.h"
@implementation Parent
- (void) methodOfParent {
//How to call Child's methodOfChild here?
}
@end
가져 오기 "Parent.h".
앱의 대리인의 application:didFinishLaunchingWithOptions:
방법
Parent *parent = [ [Parent alloc] init];
[parent methodOfParent];
[parent release];
예, 기술적으로 가능하지만이 디자인의 냄새가납니다. 정말 나빴어. 수퍼 클래스는 서브 클래스에 대해 알지 못합니다. –
신속하고 신속하게 호출 할 때 같은 계층 구조의 메소드를 인식 할 수 없으면 동일한 결과를 얻고 싶습니다. 누구라도 신속한 수업에서 처음으로 전화를 걸 때 똑같이하는 법을 말할 수 있습니까? – NaXir