lm_cheng 2017-02-21 15:12 采纳率: 0%
浏览 2156

寻找答案,多态有什么特点

多态的特点,该怎么使用。多态是用于解决什么问题的呢? 寻找答案,寻找答案,

  • 写回答

7条回答 默认 最新

  • threenewbee 2017-02-21 15:30
    关注

    多态(polymorphic)指的是一种概念,多种形态。在面向对象的编程中,函数重载、继承/方法重写、泛型、运算符重载等等都体现了多态。
    在函数重载中,一个概念——相同的函数名,做相同的事情;多种形态,不同的函数参数列表,不同的调用方式
    函数重写,一个概念——派生类继承了基类的方法,每个派生类的函数名函数原型都是相同的,不同形态——同时又有完全不同的函数的实现,通过基类调用派生类重写的函数不需要了解每个派生类实现的不同
    泛型,一个概念——定义相同的算法和数据结构,不同的形态——具体为每一种类型有自己的类型,对于C++语言,这是编译器自动生成的
    运算符重载,一个概念——无论计算集合、矩阵、浮点数、整数、虚数、逻辑代数等等,都用相同的表达式,不同的形态——每种计算的实质是不同的,比如矩阵的加法和自然数的加法完全不同。
    多态解决的问题就是简化调用别人编写的代码的难度,因为概念相同但是具体实现不同的代码,被装进相同的概念,而屏蔽掉底层的复杂性了。对于相同的问题,降低复杂度,那么对于程序员来说,他可以更容易编写规模更大的软件。

    评论

报告相同问题?

悬赏问题

  • ¥15 聚类分析或者python进行数据分析
  • ¥15 如何用visual studio code实现html页面
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?