越来越发觉我目前还很无知。。。区别如下:
override表示“重写”,用于继承一个基类的时候,基类当中虚拟成员的实现。
overload表示“重载”,用于同一类中同名方法但参数个数或类型不同的实现,也就是让方法有不同签名的版本。
override译作覆盖,用于继承一个基类时,对基类的非虚方法的重新实现,如果是虚方法,则是多态。两者完全不同。
对于使用基类型指针或是引用来调用方法,如果是覆盖,其调用关系在编译期间就已经确定,而对于多态,则是后期联编,在运行时根据动态类型来确定。
overload重载的说法基本正确
ebreezee 评论于: 2008.03.05 21:28
再次补充一下:
override 可译作“重写”(参考《C#高级编程》)或“覆写”。和overload的主要区别是:
override overload
方法名 必须相同 必须相同
参数列表 必须相同 必须不同
返回值 必须相同 可以不同
override用于继承类,overload用于同一个类中。
本文详细解释了C#编程语言中override(重写)和overload(重载)的概念及其区别。重写用于继承类中对基类方法的重新实现,而重载则是在同一类中对同名方法的不同参数实现。
 (转)&spm=1001.2101.3001.5002&articleId=6026048&d=1&t=3&u=5e6969c5dff1492dbed12a5cd76712d7)
1449

被折叠的 条评论
为什么被折叠?



