.override与重载的区别

 我来答
long1988725
2010-12-03 · TA获得超过311个赞
知道答主
回答量:73
采纳率:0%
帮助的人:86万
展开全部
其实很本质的区别就是看函数特征:
覆写(Override)的两个函数的函数特征相同
重载(Overload)的两个函数的函数名虽然相同,但函数特征不同。
函数特征包括函数名,参数的类型和个数。

Override 是在继承的时候,如果你写的函数与要继承的函数函数特征相同,那么,加上这个关键字,在使用这个子类的这个函数的时候就看不见父类(或超类)的函数了,它被覆盖掉了。
比如:Derived继承了Base,Base里面有void A(int a)
那么如果你Derived里面觉得A写得不好或不适合这个类,你想重新再写一遍A里的代码,那么就写override void A(int a)这样,原来的那个函数就被你新写的这个覆盖掉了。
Overload 是重载,就是说函数名相同,函数特征不同,系统会根据你提供的参数来调相应的函数。
比如:void A(int a)和void A(int a,int b)
如果你用的是A(1)那么调的是第一个,如果是A(1,1)那么调的是第二个。
百度网友3d807f3
2010-12-15
知道答主
回答量:18
采纳率:0%
帮助的人:20.1万
展开全部
重载,函数名相同,但参数类型或个数或顺序不同。其用途比如:可读性强;在构造器的时候根据参数初始化你想要的实例;代码维护性高,重载的方法,处理逻辑的代码通常都在一个方法里,其他方法通常调用偏多
override,是重写,字面意思,就是重写某个方法的业务逻辑。最大用途是多态,其实重载也是一种多态,但二种多态有个差别是,重载是编译时多态,override是运行时多态
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大脸猫脸大252
2010-12-03 · TA获得超过193个赞
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:160万
展开全部
重载(overload) : 发生在一个类中, 函数名相同, 参数大小与类型不同。

重写(override) :发生在 子类与父类 , 子类重写父类的方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式