什么是多态,为什么要使用多态。
概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是用基类的引用指向子类的对象。
使用原因:向后兼容,提高代码可扩充性和可维护性。
在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
|