有些會程式的人可能會寫,但卻解釋不清。
簡而言之
Overloading是指在同一個類別之下,定義相同名稱,
但因為傳入的引數不一樣,而呼叫到不同個函式。
Overriding是指在子類別繼承父類別的狀況下,
兒子要修改寫老爸同名、同引數的函式。
Overloading的範例如下:
int Search(int a, int key);
int Search(int[] a, int inIndex);
隨著傳入Search函式的引數不同,呼叫的函式也不同。
Overriding的範例如下:
class employee{ public int bonus(){ return money; } } class manager extends employee{ public int bonus(){ return money*2; } }
同樣是bonus的函式,雖然回傳值不同,但是回傳值的型態還是一樣,
就是Overriding。
沒有留言:
張貼留言