iOS 多态

作者: iOS_肖晨 | 来源:发表于2018-02-11 15:51 被阅读32次

定义

多态:不同对象以自己的方式响应相同的消息的能力叫做多态。

生活中:

人可以指教师、学生、医生等等。

程序中:

父类指针指向子类对象。

好处

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

注意

1.没有继承就没有多态。
2.父类类型的变量, 不能直接调用子类特有的方法。
3.OC支持方法名的多态,但不支持参数和操作符的多态。

实现

首先创建父类 People 和 子类 Student,然后在 People 父类中添加属性和方法,并分别在两个类中实现该方法。
调用代码如下:

// 用父类People指针指向子类Student对象
People *p = [[Student alloc] init];
// 此时,p 对象就已经是一个 Student 对象

// 下面的属性与方法在父类中需要声明,才能用父类指针直接调用
// 如果父类不存在,则需要强制将类型转为 Student 才可以使用
p.name = @"小明";
p.mathScore = 66;
p.englishScore = 88;
// 只调用了 Student 类中的实现,并没有调用 People 类中的实现,也证明了多态的实现。
[p calculateAverageScore];

相关文章

  • 多态、继承、拓展、分类

    多态 一、概念 多态:不同的对象以自己的方式响应消息的能力叫做多态。 在ios开发中,每个类都有自己对应的名字空间...

  • iOS 多态

    定义 多态:不同对象以自己的方式响应相同的消息的能力叫做多态。 生活中:人可以指教师、学生、医生等等。程序中:父类...

  • iOS 多态

    Objective-C语言是面向对象的高级编程语言,因此,它具有面向对象编程所具有的一些特性,即:封装性、继承性和...

  • iOS 多态

    OC三大特性:封装、继承、多态。前两种比较简单,这里讲一下多态。 一. 基本概念 多态在代码中的体现,即为多种形态...

  • 多态-iOS

    Swift中的泛型T 实质是一种参数化多态,把类型作为参数的多态,泛型编程。 在编程语言和类型论中,多态是指不同数...

  • iOS多态和Python多态2018-01-20

    iOS多态 多态就是父类指针指向子类指针 多态是具有表现多种形态的能力的特征,是为了避免在父类里大量重载引起代码臃...

  • 多态

    iOS | 多态的实际运用 一句话概括多态:子类重写父类的方法,父类指针指向子类。 或许你对多态的概念比较模糊,但...

  • IOS多态特性

    用一句话概括就是:事物在运行过程中存在不同的状态。先以教科书般举例说明,下文再举一个花木兰替父从军的例子帮助大家理...

  • iOS 之多态

    iOS之 多态 简述 多态一般都要跟继承结合起来说,其本质是子类通过覆盖或重载父类的方法,来使得对同一类对象同一方...

  • iOS绘图

    ios阶段算法回调多态(观察者模式)把多态真正明白上一大台阶程序设计设计模式if else少出 创建UIBezie...

网友评论

    本文标题:iOS 多态

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