iOS 多态

定义

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

生活中:

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

程序中:

父类指针指向子类对象。

好处

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

注意

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];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 简述 多态一般都要跟继承结合起来说,其本质是子类通过覆盖或重载,父类的方法,来使得对同一类对象同一方法的调用产生不...
    Cheriez阅读 7,393评论 0 5
  • 一、什么是多态 多态:不同对象以自己的方式响应相同的消息的能力叫做多态。 由于每个类都属于该类的名字空间,这使得多...
    紫风_781d阅读 4,477评论 0 0
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 5,147评论 0 2
  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 4,827评论 0 4
  • 人生最难得的就是保持乐观的心态,生活最难得的就是懂得珍惜。这世上,谁都不可能真正的拥有,不要太过执着失去,能够失去...
    小妖精蓝雪儿阅读 1,486评论 0 6

友情链接更多精彩内容