zoukankan      html  css  js  c++  java
  • 谈谈我对多态的理解

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

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

     

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

     

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

     

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

     

     

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

     

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

     

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

     

    多态的核心是向上转型

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

     

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

     

     

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

  • 相关阅读:
    下雪诗
    华视身份证阅读器100UC HTTP模式二次开发
    C# Action 和 Func 区别
    网站部署——文件系统
    前端-JavaScript DOM和BOM
    IO多路复用
    python-协程
    python-线程
    python-进程
    计算机与操作系统简介
  • 原文地址:https://www.cnblogs.com/zhangfengshi/p/11002661.html
Copyright © 2011-2022 走看看