c#重载
方法的重载:C#允许在一个类中定义方法的不同版本,编译器会自动根据提供的参数选择最适合的版本。
编写下面的代码:
int X = 10; Console.WriteLine(X);
要显示一个字符串,编写下面代码:
string MS = "Hello word"; Console.WriteLine(MS);
那这是如何实现的呢?Console.WriterLine()的参数类型是什么?如果它是一个字符串,则第一个例子就会编译错误,因为int不能隐式地将数据类型转换成string.同理,如果Console.WriterLine()的参数类型是int的话,第二个例子编译会出错。但是实际上这两个例子都不会产生编译错误,运行后都可以得到所希望的结果。
因为是有两个不同的Console.WriterLine()方法。——一个方法的参数是int,另一个参数是string,实际上有许多个不同的Console.WriterLine()方法。这就是重载。
下面是例子:
static void Main(string[] args)
{
int a = 50;
int b = 30;
int sum = 60;
double c = 0.2;
student stu = new student();
Console.WriteLine( stu.chaWithBoyAndGirl(a, b));
Console.WriteLine(stu.chaWithBoyAndGirl(sum,c));
}
}
class student
{
int a;
public int chaWithBoyAndGirl(int boy, int girl)
{
a = boy - girl;
return a;
}
//运用重载,参数一个是int,一个是double.
public int chaWithBoyAndGirl(int sum, double bitOfBoy)
{
int boy = Convert.ToInt32(sum*bitOfBoy);
int girl = sum - boy;
return chaWithBoyAndGirl(boy, girl);//这里就是重载的好处,就可以吧 chaWithBoyAndGirl()
//重写方法当做实际工作的方法。
}
}
浙公网安备 33010602011771号