继承:继承是使用已存在的类的定义作为基础建立新类的技术,新类继承旧类,就可以实用旧类的部分数据。例如实例变量的继承和方法的继承。
旧类Aaa
@interfance Aaa:NSObject
{
int val;
}
-(int)intVar;
@end
@implementation Aaa
-(int)intVar
{
var=1000;
return var;
}
@end
新类Abb
#import"Aaa.h"
@interface Abb:Aaa
-(void)print;
@end
Abb.m
-(void)print
{
NSLog(@"%i",var);
}
main.m
Abb *a=[[Abb alloc]init];
NSLog(@"%i",[a intVar]);//Abb继承了Aaa的方法
多态:既然类与类之间的方法和变量可以继承,那在新类中,是否可以重写旧类的方法。当然可以啦,这就是多态的啦(有C++基础的童鞋对此一定能很快的接受并理解)
例如上面的例子
在Abb.m
-(int)intVar
{
NSLog(@"虽然在Abb,但我重写了Aaa中的方法");
}
我们可以多态式滴重新书写-(int)intVar;这个方法
Aaa *a=[[Aaa alloc]init];
Abb *b=[[Abb alloc]init];
[a print];
[b print];