没有父类的类位于类层次结构的顶端,称为根类,可以将类称为子类和父类(超类)。在子类中使用实例变量时,需要在接口声明中声明,而不能在实现部门声明,在实现部分声明和合成(synthesize)的都是私有的。
//为了简洁起见,把代码写在一个文件里
#import <Foundation/Foundation.h>
@interface classA : NSObject
{
int x;
}
-(void)print:(int)a;
@end
@implementation classA
-(void)print:(int)a
{
NSLog(@"ClassA");
x=a;
}
@end
@interface classB : classA
-(void) printB;
@end
@implementation classB
-(void)printB
{
NSLog(@"x = %i",x);
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
classB *myclassA =[classB new];
[myclassA print:100];
[myclassA printB];
}
return 0;
}
输出
2016-05-24 23:15:55.194 Four[940:38611] ClassA
2016-05-24 23:15:55.195 Four[940:38611] x = 100