函数重载

当我们调用Console.WriteLine()函数时,我们有时候向这个函数传入整型数字,有时传入浮点数字,有时传入字符串。
为什么Console.WirteLine()函数可以接受不同的参数呢?
因为在C#语言中有着名为函数重载的功能。

函数的签名

函数的签名包括:函数名,函数参数的种类、个数和顺序,还有它所在的类和名称空间。

1
2
3
4
5
public class Student{
public void study(string name,int school){
Console.WriteLine($"我叫{name},我在{school}读计算机专业。")
}
}

注意!!!!!!方法的返回值不属于函数签名的一部分!!!!!!

实现函数重载

当函数的签名不同时,就可以实现函数的重载,我们可以声明多个同名函数保证他们的参数列表不同,在调用时传入想要执行的那个函数的参数,就可以做到实现不同的功能。

1
2
3
4
5
6
7
8
public class Student {
public void study(string name, string school) {
Console.WriteLine($"我叫{name},我在{school}读计算机专业。");
}
public void study(string name ,int age,string school) {
Console.WriteLine($"我叫{name},我今年{age}岁了,我在{school}读幼儿园");
}
}

类的构造函数也是函数,所以依然可以使用构造函数重载,实现对类成员不同方式的初始化。