zoukankan      html  css  js  c++  java
  • override和overload的区别(C#) (转)

    越来越发觉我目前还很无知。。。区别如下:

    override表示“重写”,用于继承一个基类的时候,基类当中虚拟成员的实现。

    overload表示“重载”,用于同一类中同名方法但参数个数或类型不同的实现,也就是让方法有不同签名的版本。

    ebreezee 发表于:2007.12.02 22:05 ::分类: ( C# ) ::阅读:(184次) :: 评论 (3)
    re: override和overload的区别(C#) [回复]

    override译作覆盖,用于继承一个基类时,对基类的非虚方法的重新实现,如果是虚方法,则是多态。两者完全不同。
    对于使用基类型指针或是引用来调用方法,如果是覆盖,其调用关系在编译期间就已经确定,而对于多态,则是后期联编,在运行时根据动态类型来确定。
    overload重载的说法基本正确

     
    ebreezee 评论于: 2008.03.05 21:28
    re: override和overload的区别(C#) [回复]

    再次补充一下:
    override 可译作“重写”(参考《C#高级编程》)或“覆写”。和overload的主要区别是:
    override overload
    方法名 必须相同 必须相同
    参数列表 必须相同 必须不同
    返回值 必须相同 可以不同
    override用于继承类,overload用于同一个类中。

  • 相关阅读:
    Java学习-IO流-read()和write()详解
    JAVA中String类常用构造方法
    java的System.exit(0)和System.exit(1)区别。
    Eclipse快捷键大全
    Java Arraylist的遍历
    Java Map的遍历
    C++求最大公约数,最小公倍数
    C++sort使用实例
    [Project Euler] 题目汇总
    [leetcode]做过的题的目录
  • 原文地址:https://www.cnblogs.com/etata/p/1178544.html
Copyright © 2011-2022 走看看