多态特性

iOS开发人员经常会使用到多态特性,只是有些人不知道“原来这就是多态”。

----- 前言

用简单的几句话说明多态就是:

1. 用父类类型的指针指向子类对象,程序在运行时,通过运行时系统(runtime)进行动态监测,以调用真实的对象方法。

2. 父类类型的变量不能直接调用子类特有的方法,如果必须要调用,则必须对该变量强制转换为子类的类型。

举个例子

VC栈中是具体的UIViewController的子类,遍历VC栈时用它们统一的父类类型UIViewController的变量引用。

接下来如果是要进行UIViewController类中的方法,那就直接调用;如果只有某个具体的UIViewController子类才有的方法,那就要进行一次类型强制转换,比如:

使用多态的注意事项:

不要弄反了。不要用 子类类型的指针变量 指向 父类的对象

原文地址:https://www.cnblogs.com/cchHers/p/11200126.html