那个好心人能告诉我“重载,需要区分overload或者override”是什么意思?刚开始学重载,没听说过“重载,需要区分overload或者override”,我是新手!大家能不能用 C# 语言讲一下
overload是重载,一个方法名对应几个不同参数签名的方法。
override是重写,子类覆盖基类虚方法。
“重载,需要区分overload或者override”这个说法是不懂OOP并且学了几天C++的人发明的错误的观点。在C++这样原始的,非原生的OOP语言中,成员函数其实是全局函数+this指针实现的。编译器自动将实例的指针作为一个参数传进去,从这个意义上说,有些人认为override因为具有相同的函数名,并且this指针参数不通,也算重载,但是注意,即便如此,这样理解也是不准确的。
overload和override是两个不同的东西,没有人会搞错。如同你不会分不清座便器和水缸一样。
从不会搞错这一点说,不用区分。从它们不是一个东西的角度说,要区分。