多态
多态性(polymorphism)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。不同对象以自己的方式响应相同的消息的能力叫做多态。意思就是假设生物类(life)都用有一个相同的方法-eat;那人类属于生物,猪也属于生物,都继承了life后,实现各自的eat,但是调用是我们只需调用各自的eat方法。也就是不同的对象以自己的方式响应了相同的消息(响应了eat这个选择器)。
实现多态,有二种方式,覆盖,重载。
1)覆盖:是指子类重新定义父类的虚函数的做法。
2)重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。
——————————僵尸练习————————————
界面中创建
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[NSTimerscheduledTimerWithTimeInterval:.2target:selfselector:@selector(addZomb) userInfo:nilrepeats:YES];
}
-(void)addZomb{
Zomb *z1 = [[Zomballoc]initWithFrame:CGRectMake(300, 100, 60, 90)];
[self.view addSubview:z1];
ZombB *z = [[ZombBalloc]initWithFrame:CGRectMake(300, 200, 60, 90)];
[self.view addSubview:z];
}
?两个僵尸,而且两个僵尸分别是两个子类,创建一个父类要让两个僵尸的事件继承到父类当中,因此要创建三个类。。
并且要让两个僵尸速度不同位置不同,因此个各类要有自己的特性。