close

 函數的重載(/多載 Overload)

多載的特徵

1. 二個或者多個函數在「同一個」類當中

2. 函數名相同

3. 參數列表不同

 

多載的作用

用於解決不同對象,但同一類物件之不同的行為(即函數),例如:洗可代表洗碗、洗澡、洗衣等,但其洗的過程、內容皆不相同。

 

多載調用哪個函數的規則

透過輸入參數的類型與個數決定調用的函數。

 

多載實例

15_範例_OverloadFun.png 15_範例_OverloadMain.png 15_範例_OverloadMain結果.png  

 

構造函數(/建構函數)

建構函數的特徵

1. 建構函數不屬於成員函數,但其為函數的一種,所以建構函數可使用多載規則。

2. 建構函數沒有返回值類型的定義(如:void)

3. 建構函數的名字必須和類名相同

4. 如無填寫建構函數,則Java編譯器會自動生成一個無參數且方法體為空的建構函數,即:

Class A{

A(){             //無參數且方法體為空的建構函數

}

}

5. 如類別中已有其他的建構函數者,Java編譯器將不再生成無參數且方法體為空的建構函數,因此如在主函數中調用參數為空的建構函數,且也無此一建構函數的話,將會造成編譯上的錯誤,需注意!!

6. 調用普通之函數,是使用「物件.函數()」,而調用建構函數則是使用new 建構函數([參數]) (註:[參數]是指可能會有參數類型與個數,但需看調用的建構函數為何)

 

建構函數的作用

1. new一個建構函數時,就會生成一個物件。

2. 將多覆的成員變數之賦初始值的動作,納入建構函數中,以簡化重覆代碼之問題。

實例如下:

Ø   未簡化前

15_範例_Person.png 15_範例_Main.png  

 

 

Ø   簡化後 

 

15_範例_ConstructorPerson.png 15_範例_ConstructorMain.png 15_範例_ConstructorMain結果.png  

 

 

arrow
arrow

    Elsa 發表在 痞客邦 留言(1) 人氣()