oc学习之多态

来源:互联网 发布:网络音柱功能 编辑:程序博客网 时间:2024/04/28 23:23

多态:不同的类共享相同方法的能力。简单来说,就是对象的多种形态。

比如建立一个父类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];


这里涉及到一个名词【动态绑定】:对象调用方法时,会先从对象真实类型对应的方法中寻找,如果找不到,就从父类中寻找。



0 0