美文网首页iOS学习HTML5 专栏程序员
C++ 什么是多态,多态的用途

C++ 什么是多态,多态的用途

作者: 石虎132 | 来源:发表于2018-02-17 23:32 被阅读186次

    //联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄

    一、概念

    1. 定义:“一个接口,多种方法”,程序在运行时才决定调用的函数。

    2. 实现:C++多态性主要是通过虚函数实现的,虚函数允许子类重写override(注意和overload的区别,overload是重载,是允许同名函数的表现,这些函数参数列表/类型不同)。

      *多态与非多态的实质区别就是函数地址是早绑定还是晚绑定。

      *如果函数的调用,在编译器编译期间就可以确定函数的调用地址,并生产代码,是静态的,就是说地址是早绑定的。

      *而如果函数调用的地址不能在编译器期间确定,需要在运行时才确定,这就属于晚绑定。

    3.目的:接口重用。封装可以使得代码模块化,继承可以扩展已存在的代码,他们的目的都是为了代码重用。而多态的目的则是为了接口重用。

    4.用法:声明基类的指针,利用该指针指向任意一个子类对象,调用相应的虚函数,可以根据指向的子类的不同而实现不同的方法。

    谢谢!!!

    相关文章

      网友评论

        本文标题:C++ 什么是多态,多态的用途

        本文链接:https://www.haomeiwen.com/subject/zuuvtftx.html