学习方法重载从不懂到懂的过程中,分享自己的感悟。
首先:
方法重载就提供了创建同名多个方法的能力,但这些方法需要使用不同的参数类型。不仅仅是构造方法,普通方法都是可以重载的(重点来了!!)那我们就举一个普通的例子
编写下面的代码:
string MS = "Hello world";
Console.WriteLine(MS);
要显示一个字符串,编写下面代码:
string MS = "Hello world";
Console.WriteLine(MS);
那这是如何实现的呢?Console.WriterLine()的参数类型是什么?如果它是一个字符串,则第一个例子就会编译错误,因为int不能隐式地将数据类型转换成string.同理,如果Console.WriterLine()的参数类型是int的话,第二个例子编译会出错。但是实际上这两个例子都不会产生编译错误,运行后都可以得到所希望的结果。
因为是有两个不同的Console.WriterLine()方法。——一个方法的参数是int,另一个参数是string,实际上有许多个不同的Console.WriterLine()方法。这就是重载。
注意:方法重载时,方法名要相同(不然干嘛要重载????)
参数类型或者个数一定要有所不同(不然干嘛要重载)