34.C# 方法重载

2024-03-07  本文已影响0人  技术老小子

摘要


在C#中,方法的重载是指参数个数或参数类型不同的同名方法,用来实现类似的功能。

我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,我们可以根据参数类型不同去选择我们所需要的。

正文


方法重载

在同一个类中,方法名称相同,但是参数列表不同(参数个数不同、参数类型不同、不同类型的排列顺序不同),称之为方法的重载,方法的重载不包含继承关系,重载不用考虑方法的返回值类型,重载类型顺序必须不同;

internal class Program
{
    static void Main(string[] args)
    {
        Add(1,2);
        Add(1,2,3);
        Add("A", "B");
    }

    static void Add(int x, int y)
    {
        Console.WriteLine(x + y);
    }
    static void Add(int x, int y, int z)
    {
        Console.WriteLine(x + y + z);
    }

    static void Add(string a, string b)
    {
        Console.WriteLine(a + b);
    }
}

image.png

构造函数重载

只要符合重载的规则即可,重载函数常用来实现功能类似而所处理的数据类型不同的问题。

创建一个Person类

public class Person
{
    public Person()
    {
        Console.WriteLine("无参数重载");
    }

    public Person(string name)
    {
        Name = name;
        Console.WriteLine("一个参数name重载");
    }

    public Person(int id, string name)
    {
        Id = id;
        Name = name;
        Console.WriteLine("两个参数id,name重载");
    }

    public Person(int id, string name, int age)
    {
        Id = id;
        Name = name;
        Age = age;
        Id = id;
        Name = name;
        Console.WriteLine("三个参数id,name,age重载");
    }

    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }

}

Person person = new Person();
Person person1 = new Person("张三");
Person person2 = new Person(1, "张三");
Person person3 = new Person(1, "张三", 30);

image.png

重载好处

不用对不同的参数类型或参数个数,而写多个函数,就像设备启动是按一个键还是两个键或是多个键,我们只用取同一名字Start就可以了,只是参数不同,这个命名也简单不少,且容易懂。

在调用时VS可以根据不同的参数个数,顺序,类型,自动匹配方法。

上一篇下一篇

猜你喜欢

热点阅读