iOS开发人员经常会使用到多态特性,只是有些人不知道“原来这就是多态”。
----- 前言
用简单的几句话说明多态就是:
1. 用父类类型的指针指向子类对象,程序在运行时,通过运行时系统(runtime)进行动态监测,以调用真实的对象方法。
2. 父类类型的变量不能直接调用子类特有的方法,如果必须要调用,则必须对该变量强制转换为子类的类型。
举个例子
VC栈中是具体的UIViewController的子类,遍历VC栈时用它们统一的父类类型UIViewController的变量引用。
接下来如果是要进行UIViewController类中的方法,那就直接调用;如果只有某个具体的UIViewController子类才有的方法,那就要进行一次类型强制转换,比如:
使用多态的注意事项:
不要弄反了。不要用 子类类型的指针变量 指向 父类的对象。