多态特性

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

----- 前言

 

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

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

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

 

举个例子

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

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

 

使用多态的注意事项:

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

 

posted @ 2019-07-16 21:55  码出境界  阅读(400)  评论(0编辑  收藏  举报