谈谈我对多态的理解
Posted zhangfengshi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谈谈我对多态的理解相关的知识,希望对你有一定的参考价值。
其实要学好任何一门语言 编程范式至关重要,理解几个维度的方面如
出错处理是怎么玩的?内存管理是怎么玩的?数据封装和扩展怎么玩的?多态和泛型怎么搞的?运行时识别和反射机制是怎么玩的?并发编程怎样玩?……
下面分析一下多态这个特性:
多态通过分离做什么和怎么做,从另一个角度将接口和实现分离开来。多态不但能够改善代码的组织结构和可读性,还能够创建可扩展的程序—无论在项目最初创建时还是在需要添加新功能时都可以“生长” 的程序。
多态方法调用允许一种类型表现出与其他相似类型之间的区别,只要它们都是从同一基类导出而来的。这种区别是根据方法行为的不同而表现出来的。
多态分静态编译和动态编译两种
静态主要体现在方法重载上
动态就是所谓的运行时绑定
多态的核心是向上转型
对于面向对象而言,多态分为编译时多态和运行时多态。其中编译时多态是静态的,主要是指方法的重载,它是根据参数列表的不同来区分不同的函数,通过编辑之后会变成两个不同的函数,在运行时谈不上多态。而运行时多态是动态的,它是通过动态绑定来实现的【向上转型】,也就是我们所说的多态性
继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫
让程序可以选择多个运行状态,这就是多态性
以上是关于谈谈我对多态的理解的主要内容,如果未能解决你的问题,请参考以下文章