5.1C#语言的重载(Overloading)

方法名称相同、参数列表不同。参数列表不同主要体现在参数个数或参数的数据类型不同。在调用重载的方法时系统是根据所传递参数的不同判断调用的是哪个方法。

【实例 1】创建一个名为 SumUtils 的类,在类中分别定义计算两个整数、两个小数、 两个字符串类型的和,以及从 1 到给定整数的和。在 Main 方法中分别调用定义好的方法。

根据题目要求,分别定义 3 个带两个参数的方法,以及一个带一个整型参数的方法,代码如下。

class SumUtils
{
    public int Sum(int a,int b)
    {
        return a + b;
    }
    public double Sum(double a,double b)
    {
        return a + b;
    }
    public string Sum(string a,string b)
    {
        return a + b;
    }
    public int Sum(int a)
    {
        int sum = 0;
        for(int i = 1; i < a; i++)
        {
            sum += i;
        }
        return sum;
    }
}

从上面的程序可以看出在该类中定义的方法名称都是 Sum,仅是参数的类型或个数不同而已。在 Main 方法中调用上述定义的方法,代码如下。

class Program
{
    static void Main(string[] args)
    {
        SumUtils s = new SumUtils();
        //调用两个整数求和的方法
        Console.WriteLine("两个整数的和为:" + s.Sum(3, 5));
        //调用两个小数求和的方法
        Console.WriteLine("两个小数的和为:" + s.Sum(3.2, 5.6));
        //调用两个字符串连接的方法
        Console.WriteLine("连个字符串的连接结果为:" + s.Sum("C#", "方法重载"));
        //输出 1 到 10 的和
        Console.WriteLine("1 到 10 的和为:" + s.Sum(10));
    }
}

在调用 Sum 时只是传递的参数不同,系统会自动识别参数来调用正确的方法。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/basic/csharp/4034.html

发表评论

登录后才能评论