谈谈我对多态的理解

其实要学好任何一门语言 编程范式至关重要,理解几个维度的方面如

出错处理是怎么玩的内存管理是怎么玩的?数据封装和扩展怎么玩的多态和泛型怎么搞的?运行时识别反射机制是怎么玩的?并发编程怎样玩?……

 

下面分析一下多态这个特性:

 

多态通过分离做什么和怎么做,从另一个角度将接口和实现分离开来。多态不但能够改善代码的组织结构和可读性,还能够创建可扩展的程序—无论在项目最初创建时还是在需要添加新功能时都可以“生长” 的程序。

 

多态方法调用允许一种类型表现出与其他相似类型之间的区别,只要它们都是从同一基类导出而来的。这种区别是根据方法行为的不同而表现出来的。

 

 

多态分静态编译和动态编译两种

 

静态主要体现在方法重载上  

 

动态就是所谓的运行时绑定

 

多态的核心是向上转型

对于面向对象而言,多态分为编译时多态和运行时多态。其中编译时多态是静态的,主要是指方法的重载,它是根据参数列表的不同来区分不同的函数,通过编辑之后会变成两个不同的函数,在运行时谈不上多态。而运行时多态是动态的,它是通过动态绑定来实现的【向上转型】,也就是我们所说的多态性

 

继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫

 

 

让程序可以选择多个运行状态,这就是多态性

posted @ 2019-06-11 11:37  陶朱公Boy  阅读(377)  评论(0编辑  收藏  举报