美文网首页
OC的多态

OC的多态

作者: nalis风 | 来源:发表于2016-07-19 02:44 被阅读3次

定义为父类的指针而初始化为其子类,这样因为子类可能重写父类的方法。相同类型的变量在调用同一个方法时就可能会出现多种不同的行为特征。

指针变量在编译阶段只能调用其编译时类型所具有的方法,但运行时则执行它运行时类型所具有的方法。因此,编写OC代码时,指针变量只能调用声明该变量时所用类中包含的方法。而不能调用其初始化的类(运行时类型)的方法。

不过可以使用performSelector:来调用。

向上转型(upcasting):

把子类对象赋给父类指针变量,总会成功  但将父类赋给子类时,可能会出错

指针变量的强制类型转换

只是改变了改制真变量编译时的类型,但改变量所指向对象的实际类型不不会发生任何改变。如果不加判断的甲乙转换,转换出来的变量在调用方法时就会引发错误。

判断指针变量的实际类型:

-(BOOL)isKindOfClass:clazz: 判断该对象是否为clazz或其子类的实例

-(BOOL)isSubclassOfClass:clazz:判断该对象是否为clazz的子类的实例

相关文章

  • OC面向对象—多态

    OC面向对象—多态 OC面向对象—多态 一、基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没...

  • OC多态 - OC

    什么是多态:不同的对象以自己的方式响应相同名称方法的能力称为多态(父类指针指向子类对象) 多态的条件:有继承关系、...

  • OC多态

    面向对象的三大特性: 封装继承与多态;封装是对类中的一些字段, 方法进行保护, 不被外界所访问到, 有一种权限控制...

  • OC多态

    什么是多态:不同的对象以自己的方式响应相同名称方法的能力称为多态(父类指针指向子类对象)多态的条件:有继承关系、有...

  • OC:多态☀️

    版权声明:本文为博主原创文章,未经博主允许不得转载。 1、多态 父类指针指向子类对象 属性:封装了setter ...

  • OC -- 多态

    多态:同一种类型 具有多种的表现形态 多态的条件:必须存在继承关系子类重写父类的方法❗️父类声明的变量指向子类对象...

  • OC多态

    多态往简单来说就是父类的指针指向子类的对象。 //父类 @interfacesuperColor :NSObjec...

  • OC的多态

    定义为父类的指针而初始化为其子类,这样因为子类可能重写父类的方法。相同类型的变量在调用同一个方法时就可能会出现多种...

  • OC的简单总结

    一.OC的三大特性 封装、继承、多态 1> 什么是多态 多态:不同对象以自己的方式响应相同的消息的能力叫做多态。 ...

  • 多态

    OC面向对象—多态 一、基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没有多态。 在使用多态...

网友评论

      本文标题:OC的多态

      本文链接:https://www.haomeiwen.com/subject/zldmjttx.html