多态

什么是多态?

多态就是某一类事物的多种形态

程序中的多态:父类指针指向子类对象

多态的条件

1.有继承关系

2.子类重写父类方法

3.父类指针指向子类对象

4.表现:当父类指针指向不同的对象的时候,通过父类指针调用被重写的方法的时候,会执行该指针所指向的那个对象的方法

多态的优点

1.多态的主要好处就是简化了编程接口。它允许在类和类之间重用一些习惯性的命名,而不用 为每一个新加的函数命名一个新名字。这样,编程接口就是一些抽象的行为的集合,从而和实现接口的类的区分开来。

2.多态也使得代码可以分散在不同的对象中而不用试图在一个函数中考虑到所有可能的对象。 这样使得您的代码扩展性和复用性更好一些。当一个新的情景出现时,您无须对现有的代码进行 改动,而只需要增加一个新的类和新的同名方法。

多态的原理

动态绑定:

动态类型能使程序直到执行时才确定对象的真实类型

动态类型绑定能使程序直到执行时才确定要对那个对象调用的方法

OC不同于传统程序设计语言,它可以在运行时加入新的数据类型和新的程序模块:动态类型识别,动态绑定,动态加载

id类型:通用对象指针类型,弱类型,编译时不进行具体类型检查

多态的注意点

1)如果存在多态,父类是可以访问子类特有的方法

2)如果不存在多态,父类是不可以访问子类特有的方法的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 多态性(简化代码) - 多态的规则:里氏替换原则(子类替换父类方法:只是多态表现);多态的特性:父类保存了子类的对...
    010_purple阅读 802评论 0 3
  • 继承和多态 1. 继承的优缺点 优点:(1)子类可以灵活地改变父类中的已有方法;(2)能够最大限度的实现代码重用。...
    MinoyJet阅读 682评论 0 0
  • 1.面向对象三大特性 -封装性 -继承性 -多态性 2.什么是封装 封装性就是隐藏实现细节,仅对外公开接口。 3....
    梦夜繁星阅读 1,129评论 0 6
  • 多态(1)静态多态与动态多态 什么是多态 从字面上理解就是多种形态的意思。而多态一词最初源自希腊语,其含义便是“多...
    kingZXY2009阅读 2,370评论 0 2
  • 夏天:“大爷,你成功的在我的朋友圈上圈粉一打。她们认真看了你写的故事,好评如潮,偷偷告诉你,还很多女粉丝呢。” 猫...
    夏天说早安阅读 163评论 0 3