多态:父类指针指向子类对象。如果方法中使用父类类型,可以传入父类或子类对象。
定义homework类
@interface homework : NSObject
-(void)didHomework;
@end
#import "homework.h"
@implementation homework
-(void)didHomework{
NSLog(@"做作业");
}
@end
定义小红类,继承homework#import "homework.h"
@interface xiaohong : homework
-(void)didHomework;
@end
@implementation xiaohong
-(void)didHomework{
NSLog(@"小红做作业");
}
定义小明类,继承homework#import "homework.h"
@interface xiaoming : homework
-(void)didHomework;
@end
@implementation xiaoming
-(void)didHomework{
NSLog(@"小明做作业");
}
//以下程序程序输出是什么呢???
homework *test1 = [[xiaohong alloc]init];
[test1 didHomework];
homework *test2 = [[xiaoming alloc]init];
[test2 didHomework];
homework *test3 = [[homework alloc]init];
[test3 didHomework];
可以看出多态可以起到简化代码的作用。