美文网首页
运行时多态

运行时多态

作者: 方方1307007 | 来源:发表于2016-02-28 11:39 被阅读0次

运行时多态

多态:子类在父类统一行为接口下,表现不同的实现方式

对比重写与重载

子类重写父类同名同参数方法:子类只可重写父类方法

方法名相同,参数不同:OC不支持方法的重载

在子类的代码中,可以使用super来调用基类的实现

self具有多态性,可指向不同子类

super没有多态性,仅指向当前父类

初始化器

子类自动继承基类的初始化器

子类也可以重写基类初始化器,此时子类初始化器必须先调用基类的一个初始化器(手工调用)

析构器

子类可以选择重写继承基类析构器,或者重写基类析构器

子类析构器执行完毕后,会自动调用基类析构器(后置调用,且不支持手工调用)

子类析构器自动具有多态性

尽量避免在父类init和dealloc中调用子类重写的方法

相关文章

  • 多态

    1. 什么是运行时多态? 运行时多态或动态多态是运行时存在的多态。 如果方法被重写,则在运行时将调用哪个方法是未知...

  • java多态面试题

    java多态性 多态分两种: (1) 编译时多态(设计时多态):方法重载。 (2) 运行时多态:JAVA运行时...

  • Java 多态

    1、Java 多态分类 1)编译时多态:方法重载。2)运行时多态:JAVA运行时系统根据调用该方法的实例的类型来决...

  • 多态

    ###多态 *编译器多态-方法重载 方法名称相同方法参数不同。 *运行时多态 - 在程序运行时判断到底是那个类(父...

  • java多态面试题

    java多态性 多态分两种: (1) 编译时多态(设计时多态):方法重载。 (2) 运行时多态:JAVA运...

  • C++ 的多态(Polymorphism), virtual f

    多态 c++支持两种多态,编译时多态和运行时多态但其实编译时多态根本不是真正的多态,编译时多态就是函数的重载,ov...

  • 六、多态与虚函数

    多态的基本概念 多态 多态分为编译时多态和运行时多态。 编译时多态主要是指函数的重载(包括运算符的重载)。对重载函...

  • 多态与虚函数

    多态的基本概念 实现了多态机制的程序,可以使用同一个名字完成不同的功能。 多态分为编译时多态和运行时多态。 多态 ...

  • 对Java中多态的理解

    首先给多态下个定义: 对于面向对象而已,多态分为编译时多态和运行时多态。其中编辑时多态是静态的,主要是指方法的重载...

  • jvm结构&运行机制&多态实现

    浅析Java虚拟机结构与机制 浅谈多态机制的意义及实现 多态:编译时多态(重载)、运行时多态(继承父类、实现接口)...

网友评论

      本文标题:运行时多态

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