C#方法重载(overload)

c#方法重载

方法重载:同一个作用域内发生(比如一个类里面),定义一系列同名方法,但是方法的参数列表不同。这样才能通过传递不同的参数来决定到底调用哪一个。

        值得注意的是,方法重载只有通过参数不同来判断调用哪个方法,而不能通过返回值。至于原因,可以这样理解,你调用一个方法,如果有多个方法同名,系统必须要知道到底你要调用哪一个,参数可以帮助系统在方法入口处得到答案,他根据你给的参数就知道该使用哪个方法。如果只有返回值的不同,很多情况系统是不可能得到有效的判断条件的,比如:double method();int method();如果你这样调用:method()。系统当然不知道该调用哪个。

示例:

 //返回值相同,参数不同

   

[csharp]  view plain copy print ?
  1. class  BillPayment  
  2.    {  
  3.        void PayBill(int TelephoneNumber)  
  4.        {  
  5.            //此方法用于支付固定电话费  
  6.        }  
  7.        void PayBill(long CustomerNumber)  
  8.        {  
  9.            //此方法用于支付电费  
  10.        }  
  11.        void PayBill(long CustomerNumber,double amount)  
  12.        {  
  13.            //次方法用于支付移动电话费  
  14.        }  
  15.    }  

 

//返回值相同,参数个数不同

[csharp]  view plain copy print ?
  1. class Add  
  2. {  
  3.     int addtion(int num1,int num2)  
  4.     {  
  5.         return num1+num2;  
  6.     }  
  7.     int addtion(int num1,int num2,int num3)  
  8.     {  
  9.         returnnum1+num2+num3;  
  10.     }  
  11. }  


 

//参数不同,返回值不同

[csharp]  view plain copy print ?
  1. int Method(int[] numbers)  
  2. {  
  3. }  
  4. double Method(double[] numbers)  
  5. {  
  6. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值