C#中什么时候选择用重写和重载?为什么用?有什么区别?

 我来答
曷凡
2012-01-09 · TA获得超过936个赞
知道小有建树答主
回答量:497
采纳率:0%
帮助的人:566万
展开全部
重载表示改写该函数,比如重载+号运算符,让他具有乘法的功能,2+3=6
但是重载之后,他的运算优先级还是不会改变的,5-2+3=9

而重写表示完全改变这个函数,如果重写+号运算符,让他具有乘法的功能,2+3=6
同时,他的优先级你可以让他改变为最高,这样的话5-2+3=-1

:)
zly0304302
2012-01-09 · TA获得超过2462个赞
知道小有建树答主
回答量:744
采纳率:0%
帮助的人:605万
展开全部
ps:我假期有1个计划,打算坐火车去南京旅游
重写就是 我去西藏旅游了,
重载就是我坐飞机去的南京
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pkwer
2012-01-09 · TA获得超过127个赞
知道答主
回答量:93
采纳率:0%
帮助的人:87.4万
展开全部
再拿动物界作例子。
父类Animal ,有个方法叫virtual void Run()
{console.writeline("跑起来!");}
子类Cat继承Animal
重写了Run,override void Run(){console.writeline("飞快的跑起来!");}
子类Dog继承了Animal同样不用重写,因为Dog就表现为跑起来,不用重写。
Dog类里面有个方法叫private void Eat(){console.writeline("什么都吃!")};
然后再写个重载方法叫private void Eat(object obj){console.writeline("{0}","我只吃'"+object+"' ");}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
libingxueh
2012-01-09 · 超过26用户采纳过TA的回答
知道答主
回答量:206
采纳率:0%
帮助的人:94.2万
展开全部
重写是发生在父类与子类之间的关系。具体来讲就是子类可以重写父类的现有的方法。它要求子类的方法名称及参数必须与父类完全一致。比如吃饭,父亲可以吃两碗面,孩子同样也是吃面,却只能吃一碗。

重载则主要是发生在同一个类当中的,它通过多个名称相同的方法,但方法参数不相同,或者方法返回类型不相同来加以区别。其中,方法参数不相同包括以下几种情况:参数的个数不相同,参数的类型不相同,参数的对应位置不相同。需要说明的是,重载同样可以应用到父类与子类当中。即子类重载了父类的方法。

参考资料: http://hi.baidu.com/nbwd/blog/item/0144adc3a0823850b219a848.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式