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

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

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

  • 写回答

7条回答 默认 最新

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

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

    评论

报告相同问题?

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多