重载与覆盖

原创 2005年02月25日 16:38:00
重载:是指允许存在多个同名函数,这些函数的参数表不同(个数、类型)。重载概念并不属于“面向对象编程”。重载的可能实现是:编译器根据不同函数的参数表,对同名函数的名称做修饰,然后这些同名函数就成了不同的函数。
例:
function  func(p:integer):integer;overload;
function  func(p:string):integer;overload;
经过编译器做过修饰后,可能的函数名是:int_func、str_func,如果调用
func(2);
func('hello');
编译器会把这两行代码变成
int_func(2);
str_func('hello');
这两个函数的调用入口地址在编译期间就已经静态确定了。这样确定调用函数入口地址的方法称为早绑定。
而覆盖则是:
当派生类重定义了基类的虚方法后,由于重定义的派生类的方法地址无法给出,其调用地址在编译期间便无法确定,故基类指针必须根据赋给它的不同的派生类指针,在运行期动态地调用属于派生类的虚方法。这称之为晚绑定。引用一句Bruce Eckle的话:“不要犯傻,如果它不是晚绑定,它就不是多态”

c++ 覆盖、重载、隐藏

“overload”翻译过来就是:超载,过载,重载,超出标准负荷;“override”翻译过来是:重置,覆盖,使原来的失去效果。先来说说重载的含义,在日常生活中我们经常要清洗一些东西,比如洗车、洗衣服...
  • besthyq
  • besthyq
  • 2006年11月08日 11:55
  • 9047

面向对象中的重载、覆盖和隐藏

1.重载是一个类内部实现相同机理的操作,但是操作的对象不同。主要体现在:  方法在同一个类中重载的方法名称相同参数不同(参数的类型不同,参数的个数不同)virtual关键字可有可无    ...
  • longshengguoji
  • longshengguoji
  • 2013年12月30日 23:27
  • 6761

C++中重载和覆盖的区别

一. 重载1.
  • cgl1079743846
  • cgl1079743846
  • 2014年05月28日 11:29
  • 7821

java中重载和覆盖(又称重写)的区别

 初次见到这两个单词并没有什么特别的感觉,但是时间长了,却发现书上一会儿用override,一会儿又用overload,搞得我的迷迷糊。于是就做了个总结,希望能对和我一样对这两个概念模糊不清的网友有一...
  • sweetna
  • sweetna
  • 2009年07月18日 18:09
  • 6127

java中继承,重载,覆盖总结

1、继承:利用extends关键字直接继承一个类。 当Sub类和Base类在同一个包时Sub类继承Base类中的public/protected/默认级别的变量和方法 在不同包时继承public/...
  • andgot
  • andgot
  • 2015年02月03日 11:05
  • 737

c++三大概念要分清--重载,隐藏(重定义),覆盖(重写)

重载,隐藏(重定义),覆盖(重写)—这几个名词看着好像很像,不过其实一样都不一样!!综述:一、重载:(1) 概念:在同一个作用域内;函数名相同,参数列表不同(参数个数不同,或者参数类型不同,或者参数...
  • gogogo_sky
  • gogogo_sky
  • 2017年06月05日 20:22
  • 318

重写(覆盖),重载(过载)的区别与用法

父类: package com.lanhuigu.base; /** * 一,重写(override),也翻译成覆盖。在java中含义:同一个东西只有一种含义,只是原先的含义完全被后来的含义取代。 ...
  • yhl_jxy
  • yhl_jxy
  • 2016年07月10日 23:31
  • 1956

覆盖与重载的区别:相同点与异同点

方法的重载(overload)和覆盖(override)   有的时候,类的同一种功能有多种实现方式,到底采用哪种实现方式,取决于调用者给定的参数。例如我们最常用的System.out.print...
  • risingsuncsdn
  • risingsuncsdn
  • 2017年02月18日 16:06
  • 1043

java的重写、重载、覆盖的区别

多态性  通过继承,一个类可以用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任何接口类型。这称为多态性  重载  每个类型成员都有一个唯一的签名。方法签名由方法名称和一...
  • chenqiai0
  • chenqiai0
  • 2014年10月07日 10:02
  • 2899

C++ 覆盖 重载 隐藏 浅析

本文首先阐释覆盖和重载的基本定义以及它与异常类型、异常数目还有返回值等相关概念间的关系;然后,介绍多态与虚函数等相关概念,并给出代码示例,以比较说明基类指向子类对象地址的指针与子类指向强制转换为子类的...
  • u013630349
  • u013630349
  • 2015年07月01日 09:17
  • 1100
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:重载与覆盖
举报原因:
原因补充:

(最多只允许输入30个字)