继承-方法重写及super的使用
ClassA.h文件
// ClassA.h
// Twopage
//
// Created by Evis on 12-7-22.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface ClassA : NSObject{
int x;
}
-(void)setX;
@end
ClassA.m文件
// ClassA.m
// Twopage
//
// Created by Evis on 12-7-22.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import “ClassA.h”
@implementation ClassA
-(void)setX{
x = 10;
}
@end
ClassB.h文件
// ClassB.h
// Twopage
//
// Created by Evis on 12-7-22.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import <Foundation/Foundation.h>
#import “ClassA.h”;
@interface ClassB : ClassA //继承ClassA
-(void)printX;
-(void)setX;//在Class中也有一个相同的方法
@end
ClassB.m文件
// ClassB.m
// Twopage
//
// Created by Evis on 12-7-22.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import “ClassB.h”
@implementation ClassB
-(void)printX{
NSLog(@”%i”,x);
}
-(void)setX{
x = 11;
//[super setX];//利用super访问父类中的方法
}
@end
main.m文件
// main.m
// Twopage
//
// Created by Evis on 12-7-16.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import <Foundation/Foundation.h>
#import “ClassB.h”
int main(int argc, const char * argv[])
{
@autoreleasepool {
// insert code here…
ClassB *classB = [[ClassB alloc]init];
[classB setX];
[classB printX];
}
return 0;
}