C# overload重载 override重写 区别

1、overload

(1)overload 即 重载,就是函数名相同,函数参数不同,和C++中的重载一样,没什么需要多说。
(2)举例:

// overload:重载,函数名相同,参数不同。
public string ToString(){return "a";}
public string ToString(int id){return id.ToString();}

2、override

(1)override 即 重写,也可翻译成“覆盖”;
(2)override是在子类中重新实现父类中的虚函数,用来覆盖父类中的函数;
(3)override也是C#中的关键字;
(4)override的用法和作用和C++中的虚函数相同,只是在C#中使用需要用override关键字声明;
(5)举例:

// override: 重写,子类中重写虚方法。
// 父类:
public virtual string ToString(){return "a";}
// 子类:
public override string ToString(){return "b";}

3、区别:
(1)overload重载,override重写;
(2)重载是函数名相同,函数参数不同;重写是函数名和函数参数都相同;
(3)重载通常在一个类中,重新是在子类中重写父类中的虚函数;
(4)overload不是关键字,override是C#中的关键字;

参考:https://www.cnblogs.com/Tanghongchang/p/7140516.html

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页