1. 程式人生 > >菜鳥的C#學習之旅——C#方法過載與函式過載

菜鳥的C#學習之旅——C#方法過載與函式過載

目錄

過載

方法過載

函式過載

總結

過載

過載,簡單說,就是函式或者方法有相同的名稱,但是引數列表不相同的情形,這樣的同名不同引數的函式或者方法之間,互相稱之為過載函式或者方法。

過載的定義:函式名相同,函式的引數列表不同(包括引數個數和引數型別),至於返回型別可同可不同。

過載是可使函式、運算子等處理不同型別資料或接受不同個數的引數的一種方法

方法過載

1.方法過載:是指在一個類中定義多個同名的方法,但要求每個方法具有不同的引數的型別或引數的個數

2.具體規範:
(1)方法名一定要相同。
(2)方法的引數表必須不同,包括引數的型別或個數,以此區分不同的方法體。
a.如果引數個數不同,就不管它的引數型別了。
b.如果引數個數相同,那麼引數的型別必須不同。
(3)方法的返回型別、修飾符可以相同,也可不同。

3.舉例:(程式碼展示)

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

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

函式過載

1.函式過載:就是有多個引數不同的建構函式。

2.建構函式過載:是用來建立物件的特殊方法的,方法名和類名一樣,沒有返回值,連void都不用。
(1)建構函式可以有引數,new物件的時候傳遞引數即可
(2)如果不指定建構函式,則類有一個預設的無引數建構函式
(3)如果指定了建構函式,則不再有預設的無引數建構函式
(4)如果需要五引數的建構函式,則需要自己來寫

3.舉例(程式碼展示)

public Person(string name,char gender ,int age)
        {//有引數的建構函式的出現會將原來預設的無引數的建構函式幹掉。
            this._name = name;
            this._age = age;
            this._gender = gender;
        }
        //如果此時此刻還想用到無引數的建構函式,那麼就必須
        //建構函式的過載
        public Person()
        {
        }

總結

其實就過載本身還有很多的內容沒有包含進來,比如說:索引的過載、運算子的過載等等。由於目前的水平有限,還不能將其站在更高的高度進行總結,但是我深深的相信,其實很多知識是相通的,只要我把這兩個知識點搞清楚了,下次遇到其他的知識點,自然而然的就清晰多了。