11智能在线
新记
C#中什么时候选择用重写和重载?为什么用?有什么区别?
如题所述
举报该文章
相关建议 2012-01-09
重载表示改写该函数,比如重载+号运算符,让他具有乘法的功能,2+3=6
但是重载之后,他的运算优先级还是不会改变的,5-2+3=9
而重写表示完全改变这个函数,如果重写+号运算符,让他具有乘法的功能,2+3=6
同时,他的优先级你可以让他改变为最高,这样的话5-2+3=-1
:)
温馨提示:内容为网友见解,仅供参考
当前网址:
https://11.t2y.org/zz/8vspv24f8.html
其他看法
第1个回答 2012-01-09
ps:我假期有1个计划,打算坐火车去南京旅游
重写就是 我去西藏旅游了,
重载就是我坐飞机去的南京
第2个回答 2012-01-09
再拿动物界作例子。
父类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+"' ");}本回答被提问者采纳
第3个回答 2012-01-09
重写是发生在父类与子类之间的关系。具体来讲就是子类可以重写父类的现有的方法。它要求子类的方法名称及参数必须与父类完全一致。比如吃饭,父亲可以吃两碗面,孩子同样也是吃面,却只能吃一碗。
重载则主要是发生在同一个类当中的,它通过多个名称相同的方法,但方法参数不相同,或者方法返回类型不相同来加以区别。其中,方法参数不相同包括以下几种情况:参数的个数不相同,参数的类型不相同,参数的对应位置不相同。需要说明的是,重载同样可以应用到父类与子类当中。即子类重载了父类的方法。
参考资料:
http://hi.baidu.com/nbwd/blog/item/0144adc3a0823850b219a848.html
相似回答
大家正在搜
相关问题
c# 重载 与重写的区别
C#重载和重写有什么区别
C#中重载和覆写的区别
c#方法的重载有什么好处
C#中类方法重载和重写有什么不同
C#中override与重载的区别?面试的时候怎么说比较好?
在Java中,方法重写和方法重载有什么区别?
C#重载和重写的区别