A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小叶子 中级黑马   /  2014-9-27 11:37  /  1103 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么是多态,为什么要使用多态。
概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是用基类的引用指向子类的对象。
使用原因:向后兼容,提高代码可扩充性和可维护性。
在OC中:
          delegate,protocol配合的观察者模式,是oc中多态的最常见运用方式

多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没有多态。

在使用多态是,会进行动态检测,以调用真实的对象方法。

多态在代码中的体现即父类指针指向子类对象。

Animal类的声明

Animal类的实现

Dog类继承自Animal类

Dog类的实现

测试程序:

B》——拓展一个新方法

void feed(Animal *c){
        [c eat];
}
当现在我有一个cat,一个dog均继承自Animal这个类,不论我将cat还是dog,都可以传入feed这个方法,而且会正确调用子对象的eat方法。我不用在feed方法的参数中准确定义传入类型为cat或者dog




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马