继承
创建一个新类时,通常需要定义新类以区别于其他类及现有类。使用继承可以定义一个具有父类所有功能的新类,它继承了父类的这些功能。
继承的好处:
1)创建大量的相似类的时候,可以节省工作量。
2)使用框架中的类,或已经写好的类,继承该类,生成一个派生类,比原类更好用。
继承的语法
@interface Person:NSObject
//Person里继承了NSObject,获得NSObject类的方法;
@end
@interface Student :Person
//Student类继承Person类
@end
OC语言是单继承语言。在OC 中,基本上所有类的根类都是NSObject类。
重写(继承的另一部分)
子类可以从父类继承方法,但是有时候父类的方法不适合子类,子类就可以写一个自己的同名方法,覆盖掉父类的同名方法,叫做重写。
重写的时候,在子类的.h中不必重新声明,直接在.m中写实现就可以。
//父类声明文件
#import <Foundation/Foundation.h>
@interface Teacher :NSObject
-(void)read;
-(void)write;
@end
//父类实现文件
#import "Father.h"
@implementation Teacher
-(void)read{
NSLog(@"Read the question!");
}
-(void)write{
NSLog(@"Write the letter");
}
@end
//子类声明文件
#import "Teacher.h"
@interface Student : Teacher
@end
//子类实现文件
#import "Student.h"
@implementation Student
-(void)read{
NSLog(@"Read the answer");
}
@end
子类重写父类的read方法,不需要重新声明。