C#两种方式重载

来源:互联网 发布:英雄无敌 mac 10.11 编辑:程序博客网 时间:2024/06/05 16:21
C#中,可以用两种方式重载方法:
  指定不同个数的参数
  指定不同的参数类型

看理论有点摸不着头~~~~,还是找两个例子来理解......

//指定不同个数的参数例子:
using System;
public class MethodOverload
{
    int net_sal;
    int basic_sal;
    int allow;
    int deduct;
   

  public void calculate(int intBasic)             //一个参数
   {
      basic_sal=intBasic;
      Console.WriteLine("基本工资:"+basic_sal);
    }

  public void calculate(int intDeduct,int intAllow)    //两个参数
   {
     allow=intAllow;
     deduct=intDeduct;
     Console.WriteLine("津贴:"+allow);
     Console.WriteLine("扣除额:"+deduct);
   }

  public void calculate()
   {
     net_sal=(basic_sal+allow)-deduct;
     Console.WriteLine("实际工资:"+net_sal);
   }
  static void Main()
   {
     MethodOverload objMO=new MethodOverload();
     objMO.calculate(8500);          //参数个数为1个则运行只有一个参数的calculate(int int Basic)
     objMO.calculate(1000,800);      //参数个数为2个则运行有两个参数的calculate(int intDeduct,int intAllow)
     objMO.calculate();              
   }
}

//不同的参数类型的例子:
using System;
public class MethodOverload
{
   int money;
   string myname;
   public void show (string strName)                //字符型
   {
       myname=strName;
       Console.WriteLine("我的名字:"+myname);
   }
   public void show(int intmoney)                        //整型
   {
       money=intmoney;
       Console.WriteLine(myname+"要"+money+"万!哈哈哈!!!");
   }
  static void Main()
  {
    MethodOverload metOver=new MethodOverload();
    metOver.show("joe790");                       //当是字符型参数时执行show(string strName)
    metOver.show(500);                            //当是数值型参数时执行show(int intmoney)
  }
}

看了例子就明白了:
C#中会按不同的参数类型或个数调用相应的方法.

 

www.pass0.com

原创粉丝点击