多态:不同的类共享相同方法的能力。简单来说,就是对象的多种形态。
比如建立一个父类Person类,里面有study方法
-(void)study{
NSLog(@"study..");
}
再建立它的子类Student类.
在main.m中可以调用该方法:
Person *person = [[Person alloc] init];
Student *stu = [[Student alloc] init];
[person study];
[stu study];
这两个类的对象都能够访问该方法。
注意:
我们也可以使用父类的指针指向子类的对象
Person *person2 = [[Student alloc] init];
[person2 study];
这里涉及到一个名词【动态绑定】:对象调用方法时,会先从对象真实类型对应的方法中寻找,如果找不到,就从父类中寻找。