C#2010  函数重载
函数重载是C#的特功能之一,其可以为一个函数定义多种参数集合,从而使函数实现更多的功能。函数重载更多地体现了封装和多态性的原理,是面向对象编程的又一种重要应用。
函数重载功能是指在程序中多次定义一个同名的函数,为函数定义若干组数量和数据类型不同的参数。在调用函数时,程序会自动根据参数的数量和数据类型等匹配函数,以实现函数的多功能性。在使用函数重载时,需要注意函数的各种版本必须满足以下任意一种条件。
参数数量不同
参数数据类型不同
参数顺序不同
函数重载的各种版本,其参数至少应满足以上任意一条,才能使程序可以区分调用的是哪一个版本的函数。重载的各种函数返回值数据类型可以相同,也可以不同。例如,编写一个重载函数的实例,当参数为数字将数字相加,当参数为字符串时则将数字连接,代码如下。
static double add(params double[] arr)
{
writeline函数    double sum = 0;
    for (int i = 0; i < arr.Length; i++)
    {
        sum += arr[i];
    }
    return sum;
}
static string add(params string[] arr)
{
    string sum = "";
    for (int i = 0; i < arr.Length; i++)
    {
        sum += arr[i];
    }
    return sum;
}
在上面的代码中,add()函数被重载了两次,第一个版本接受双精度类型的参数,可以对任意数量的数字进行加法运算,返回数字之和;而第二个版本则接受字符串类型的参数,可以将所有参数连接起来,将其合并为一个字符串。
在调用add()函数时,程序会根据用户输入的参数进行判断,如输入的为数字,则执行第一个版本,如输入的为字符串则执行第二个版本,代码如下所示。
Console.WriteLine(add(1, 3, 5, 6, 6));//输出:21
Console.WriteLine(add("C#", "是", "一门", "优秀的", "编程语言"));
//输出:C#是一门优秀的编程语言
在创建基于重载技术的函数后,函数的每个版本都可以执行用户指定的操作。C#并未规定重载的函数必须有一定的关联关系,但从命名等风格看,重载的函数各版本应符合命名的语义化等需求,否则就失去了重载的意义。因此,在使用重载技术时,应保持函数的每一个版本的功能类似,参数有别,才能体现出重载的特。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。