상속
모든 것은 루트에서 시작된다.
지금까지 정의한 클래스는 모두 NSObject라는 루트 클래스의 자식들이다. 이를 인터페이스 파일에서 다음 과 같이 지시해 주었다.
@interface Fraction:NSObject ...
@end
Fraction 클래스는 NSObject 클래스에서 파생되었다. 계층도를 보면 NSObject가 최상위에 있기 때문에
(즉, 그 위로 아무 클래스도 없기 때문에) ‘루트’ 클래스라고 부른다. Fraction 클래스는 ‘자식 클래스’ 혹
은 ‘서브클래스’라고 부른다.
- 소스코드
#import <Foundation/Foundation.h> @interface ClassA : NSObject { int x; } -(void) initVar; |
#import "ClassA.h" @implementation ClassA -(void) initVar{ x = 100; } @end |
#import <Foundation/Foundation.h> #import "ClassA.h" @interface ClassB : ClassA -(void) printVar; |
#import "ClassB.h" @implementation ClassB -(void) printVar{ NSLog(@"x = %i",x); } @end |
#import <Foundation/Foundation.h> #import "ClassB.h" int main(int argc, const char * argv[]) { ClassB *b = [[ClassB alloc]init]; [b initVar]; [b printVar];
return 0; } |
- 실행 화면
'C/Objective C > Objective C' 카테고리의 다른 글
Objective C Class 초기화 예제 따라하기 (0) | 2012.07.23 |
---|---|
Objective C Polymorphism(다형성) 예제 따라하기 (0) | 2012.07.18 |
Objective C @Class 지시어 예제 따라하기 (0) | 2012.07.17 |
Objective C method overriding(메소드 재정의) 예제 따라하기 (0) | 2012.07.17 |
Objective C 상속 예제 따라하기 두번째 (0) | 2012.07.17 |