知识分享之概念——程序中多态的理解,什么是继承什么是多态?

背景

日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。

同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。

开发环境

  • 系统:windows10
  • 数据库:MariaDB

内容

在百度百科上面是这样说的


在编程语言和类型论中,多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。 多态类型(英语:polymorphic type)可以将自身所支持的操作套用到其它类型的值上。


说到多态,我们就不得不谈一下继承的概念,我们日常生活中经常听到的“财产继承”就很好的阐述了继承的概念,本质上就是父辈的资产继承给子孙后代。那在程序上就很好理解了,我们创建一个父级类,其他类继承一下父级类,那自然也就有了父级类的一些特性。

那什么是多态呢,那我们就依旧延续继承的资产问题再进行分析,假设子孙后代都继承了一万元,分别是A、B、C三个,这时大家都面临着这笔钱怎么处理的问题,这个问题就产生了一个统一的接口“花钱”,子孙A在花钱上用做了日常的花天酒地,子孙B将这笔钱存进了银行,子孙C将这笔钱捐献给了贫困山区。这就出现了同样一个花钱的动作,子孙后代的不同处理方式。而这种处理方式就是每个子孙后代(子级类)对于“花钱”这个接口的不同实现。

那么在程序使用时又是如何体现呢。

首先父级具备一个统一接口“花钱”,子级类A、子级类B、子级类C分别继承了该父级,并实现了“花钱”这个接口。

当程序运行时,这时我们需要开始调用花钱这个接口,并传入了【子级类A对象】,这时就触发了子级类A中的花钱实现。

同理,传入【子级类B对象】,这时就触发了子级类B中的花钱实现。

而这就是我们本节讲的多态,总结:多态即是统一类别接口下的多种运行状态,是同一类别下不同子级的独立实现。

本文声明:

知识分享之概念——程序中多态的理解,什么是继承什么是多态?_多态

88x31.png


​知识共享许可协议​

本作品由 ​​cn華少​​ 采用 ​​知识共享署名-非商业性使用 4.0 国际许可协议​​ 进行许可。