32.C# 法、构造重载

摘要


在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);    }}

构造函数重载

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

  • 函数的参数个数不同。
  • 函数的参数类型不同或者参数类型顺序不同,

创建一个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);

重载好处

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

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

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章