赞
踩
C#语法规定,同一个类中多个方法使用同一名字,该方法就被称为“重载方法”。当一个重载方法被调用时,C#会根据参数的个数和类型自动调用最恰当的方法来执行。
当类中存在多个相同功能的方法时,定义和调用过程中都会带来很大的麻烦,此时,可以考虑使用方法重载。
构成重载的条件有以下三个:
(1)在同一个类中
(2)方法名相同
(3)参数的类型或个数不同
主要体现在调用上,不需要记住更多的方法名称,相同功能的方法传递不同的参数,编译器会明确获取我们要调用哪一的方法。
下面同过一个例子来演示方法重载的使用。
首先新建一个控制台应用程序,新建一个Customer类,接着在类中定义重载方法,代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FangFaChongZai { public class Computer { //方法1,实现两个整数相加 public int Add(int num1,int num2) { Console.WriteLine("实现两个整数的相加:"); return num1 + num2; } //方法2,实现三个整数相加 public int Add(int num1, int num2, int num3) { Console.WriteLine("实现三个整数的相加:"); return num1 + num2 + num3; } //方法3,实现两个小数相加 public double Add(double num1, double num2) { Console.WriteLine("实现两个小数的相加:"); return num1 + num2; } } }
然后在Program中调用方法。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FangFaChongZai { class Program { static void Main(string[] args) { Computer computer = new Computer(); computer.Add(1, 1); //调用带两个int类型参数的Add方法 computer.Add(1, 2, 3); //调用带三个int类型参数的Add方法 computer.Add(1.5, 1.2); //调用带两个double类型参数的Add方法 //一个是int类型,一个是double类型,方法重载里面没有定义这样的方法 //此时系统会选择最合适的方法去调用,会选择有两个double类型参数的方法去调用,将第 一个1变成double类型 computer.Add(1, 1.2); } } }
结果如下图所示:
从结果中我们可以发现,当出现我们没有定义的方法computer.Add(1, 1.2)时,系统自动选择了最合适的方法Add(double,double)去调用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。