美文网首页
2.0 多态的实现

2.0 多态的实现

作者: 还好我不懂 | 来源:发表于2015-12-03 16:47 被阅读25次

本小节知识点:

  1. 【掌握】如何实现多态
  2. 【了解】多态的原理
  3. 【掌握】多态的注意点

1.如何实现多态

  • Animal是父类,子类有Cat 和 Dog,子分别重写了父类中的eat方法;实例化对象的时候可以用下
    面的方法:
Animal *animal = nil;

//实例化猫的对象
animal = [Cat new];
[animal eat];

//实例化狗的对象
animal = [Dog new];
[animal eat];

2.多态的原理

  • 动态绑定:
    • 动态类型能使程序直到执行时才确定对象的真实类型
    • 动态类型绑定能使程序直到执行时才确定要对那个对象调用的方法
  • OC不同于传统程序设计语言,它可以再运行时加入新的数据类型和新的程序模块:动态类型识别,动态绑定,动态加载
  • id类型:通用对象指针类型,弱类型,编译时不进行具体类型检查

3.多态的注意点

  • 1)如果存在多态,父类是可以访问子类特有的方法
假设 子类 Dog 有一个特有的方法bark
[dog bark];
Animal *an2 = [Dog new];
[(Dog*)an2 bark]; //把父类的指针,强制类型转换

  • 2)如果不存在多态,父类是不可以访问子类特有的方法的
Animal *an3 = [Animal new];
[(Dog*)an3 bark]; //错误的,不能强制转换

相关文章

  • 2.0 多态的实现

    本小节知识点: 【掌握】如何实现多态 【了解】多态的原理 【掌握】多态的注意点 1.如何实现多态 Animal是父...

  • Java基础之面向对象

    1.多态,继承,封装 Java实现多态有哪些必要条件?具体怎么实现?多态的实现原理?多态的作用? 答:多态的优点 ...

  • 2018-01-25

    多态机制 java语言,实现多态...

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

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

  • Java_basic_10: 多态polymorphism

    多态polymorphism 多态是指对象的多种形态 主要可以分为引用多态和方法多态 继承是多态的实现基础 引用多...

  • 2.0 接口、多态

    第一章 接口1.1 概述 接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方...

  • Swift 多态实现探究

    多态 父类指针指向子类对象 Swift 中多态的实现类似于 c++ 中的虚表 OC 多态实现利用的是 Runtim...

  • 如果你还不理解多态,不妨看看我的

    多态(Objective-C) 一、多态的概念 场景1: 多态:在程序员的世界,多态就是相同的方法,不同的实现。 ...

  • 多态的C++实现

    多态的C++实现 1 多态的原理 什么是多态?多态是面向对象的特性之一,只用父类指针指向子类的对象。 1.1 多态...

  • 实现golang语言的多态

    如何实现golang语言的多态? C++里面有多态是其三大特性之一,那么golang里面的多态我们该怎么实现? g...

网友评论

      本文标题:2.0 多态的实现

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