zoukankan      html  css  js  c++  java
  • c#中方法的重载

    转自:http://www.cnblogs.com/lovesong_blog/articles/1416617.html

    string和program都是Object的派生类,string类型是sealed类型的,不可以被继承。

    什么是方法重载。

    在面对对象这样的高级语言中都允许我们在一个类中定义多个方法名相同、方法间参数个数和参数顺序不同的方法,对于参数个数不同或者参数列表不同的情况我们称之为参数列表不同。需要注意的是这里没有提到方法的返回值。也就是决定方法是否构成重载有两个条件:
    (1)在同一个类中;
    (2)方法名相同;
    (3)参数列表不同。

    例如下面的代码:

    1.     public void Show()//(1)
    2.          {
    3.              Console.WriteLine("Nothing");
    4.          }
    5.         public void Show(int number)//(2)
    6.          {
    7.              Console.WriteLine(number);
    8.          }
    9.         /*
    10.          public int Show(int number)//(3)
    11.          {
    12.              Console.WriteLine(number);
    13.              return number % 5;
    14.          }
    15.          */

    对于上面的代码,(1)没有参数,(2)使用了一个int类型的参数, (1)和(2)之间就构成了重载。(2)与(3)相比仅仅返回值不同,虽然重载不关心返回值的不同,但是在C#中不允许存在方法名和参数列表相同、返回值不同的方法,所以(2)和(3)不能同时存在于代码中,(3)如果不注释掉上面的代码是没有办法通过编译的。

  • 相关阅读:
    Mybatis全局配置文件
    Mybatis简介及入门
    数据库小结(1)
    Java提高——Java的内存回收(2)
    关于引入文件错误
    Java提高——JUC原子类
    swagger
    Java提高——多线程(五)生产消费者问题
    Java提高——多线程(四)等待、唤醒、线程中断、优先级和守护线程
    战略与战术
  • 原文地址:https://www.cnblogs.com/jingsheng99/p/4103878.html
Copyright © 2011-2022 走看看