共找到2條詞條名為重寫的結果 展開

重寫

詞語

在C#中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類並不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要採用方法的重寫。方法重寫又稱方法覆蓋

實現方法


通常,派生類繼承基類的方法,因此,在調用對象繼承方法的時候,調用和執行的是基類的實現。但是,有時需要對派生類中的繼承方法有不同的實現.
例如,假設動物類存在"跑"的方法,從中派生出馬和狗,馬和狗的跑得形態是各不相同的,因此同樣方法需要兩種不同的實現,這就需要"重新編寫"基類中的方法。"重寫"基類方法就是修改它的實現或者說在派生類中重新編寫。

簡單應用舉例


//方法重寫
public class Parent {
public void ovel(int i){
}
public String ovef(){
return "***";
}
}
public class Child extends Parent{
public void ovel(int i){
}
public String ovef(){
return "XXX";
}
}

總結


1、必須是在繼承里
2、方法名、參數個數和參數類型 都必須相同
3、jdk1.5以後,返回值類型可以與父類相同,也可以與父類不同,但是要求返回值類型是父類的子類。如:父類的返回值類型是Object類,子類的返回值可以是Object類的子類比如String
4、派生類重寫的方法的訪問許可權不能低於基類的許可權
5、派生類拋出的異常應該和基類相等或比基類更小