C#中override与重载的区别?面试的时候怎么说比较好?

如题所述

override叫覆盖
重载是相同的方法名,但是返回类型或者参数个数或类型不同,叫做重载

override覆盖的是父类的方法,例如父类有一个ToString()方法,当我们觉得它不能满足需求,我们会在自己的方法里面重写这个方法,但是别人在通过多态调用父类的时候我又希望它能按照我子类的ToString()方法去执行的,这个时候就用Override标示一下,这样无论是多态的调用还是直接调用,调用的都是我自己的ToString方法
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-01-19
override 是重写 overload 是重载
简单来说区别就是 前者可以对父类的方法进行重写
后者是多个方法名相同 但是参数类型或者参数个数不同的方法,例如:
public void A(int i){...}
public void A(string a){...}
public string A(int i){...}
这种的叫重载,在你调用方法的时候会自动根据你的参数类型和个数找到匹配的方法然后执行
第2个回答  2012-01-18
这个在网上查查会比较好
相似回答