重载(重载和重写的区别)
重载
本文内容来自于互联网,分享重载(重载和重写的区别)
重载 | Top |
简单的说:一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。
重载是不是多态?
re:
重载还是一种是多态吧,有四种形式的多态
1.虚函数多态
2模板多态
3重载
4转换
所谓的动态和静态区分是另一种基于绑定时间的多态分类,严格来说,重载是编译时多态,即静态多态,根据不同类型函数编译时会产生不同的名字如int_foo和char_foo等等,以此来区别调用。故重载仍符合多态定义——通过单一标识支持不同特定行为的能力,只是重载属于静态多态,而不是通过继承和虚函数实现的动态多态。
另一中说法:
重载(overload)和多态无关,真正和多态相关的是覆盖(override)。
当派生类重新定义了基类的虚拟方法后,基类根据赋给它的不同的派生类引用,动态地调用属于派生类的对应方法,这样的方法调用在编译期间是无法确定的。因此,这样的方法地址是在运行期绑定的(动态邦定)。
结论就是:
重载只是一种语言特性,与多态无关,与面向对象也无关。