美文网首页
34.C# 方法重载

34.C# 方法重载

作者: 技术老小子 | 来源:发表于2024-03-07 06:55 被阅读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可以根据不同的参数个数,顺序,类型,自动匹配方法。

    相关文章

      网友评论

          本文标题:34.C# 方法重载

          本文链接:https://www.haomeiwen.com/subject/xxhjzdtx.html