1. 程式人生 > >C#---方法過載

C#---方法過載

First of all:  

方法過載是指在一個類中定義多個同名的方法,但要求每個方法具有不同的引數的型別或引數的個數。呼叫過載方法時,編譯器能通過檢查呼叫的方法的引數型別和個數選擇一個恰當的方法。方法過載通常用於建立完成一組任務相似但引數的型別或引數的個數不同的方法。方法過載是讓類以統一的方式處理不同型別資料的一種手段。呼叫方法時通過傳遞給它們的不同個數和型別的引數來決定具體使用哪個方法..

The next:

本文單說C#中的情況(語言都是相同的,萬變不其中,大概都是那麼回事啦。)

先看下面的程式碼作為例子,

class Program
    {
        static void Main(string[] args)
        {
            AddNumber1(2, 6);
            AddNumber2(5.1, 8.5);
            AddNumber3(5.5, 7);          
            //如上這樣呼叫方法有點麻煩,這時候就用到“方法過載”如下:
            AddNumber(2.5, 5);//上面三個括號內的資料都能寫在這一個括號內,這樣使用相同的方法名會很方便,當只輸入半個括號時,會給出提示括號內有幾種引數型別。(下面有圖解)                    
        }      
        
        #region//使用方法過載前
        public static int AddNumber1(int num1, int num2)
        {
            return num1 + num2;
        }

        public static double AddNumber2(double num1, double num2)
        {
            return num1 + num2;
        }

        public static double AddNumber3(double num1, int num2)
        {
            return num1 + num2;
        }
        #endregion

        #region//使用方法過載後
        public static int AddNumber(int num1, int num2)
        {
            return num1 + num2;
        }

        public static double AddNumber(double num1, double num2)
        {
            return num1 + num2;
        }

        public static double AddNumber(double num1, int num2)
        {
            return num1 + num2;
        }
        #endregion
    }


Final:

不使用方法過載:


使用方法過載: