多态定义
一个person类,一个打印机print类,两个及多个打印机子类
main函数:
person *per = [[person alloc] init];
person类执行doPrint方法——>
colorPanter *colorPrint = [[colorPanter alloc]init];
blackPanter *blackPrint = [[blackPanter alloc]init];
//传入打印机子类名,判断执行类别。
[per doPrint:colorPrint];
[per doPrint:blackPrint];
person类:实现doPrint方法
-(void) doPrint:(panter *)printer{
[printer print];
}
print类:实现print方法
-(void)print{
NSLog(@"打印机打印纸张");
}
两个子类:colorPanter blackPanter继承自print父类 重写父类方法;
-(void)print{
NSLog(@"黑白打印机");
}
-(void)print{
NSLog(@“彩色打印机”);
}
此处print类只需要实现一个方法,就可以实现无数的子类方法,这种方式被称为多态。