方法重寫 覆蓋

2022-06-30 13:03:08 字數 692 閱讀 5351

簡單來說:方法覆蓋(重寫)就是子類有乙個方法,和父類的某個方法的名稱、返回型別、引數一樣,那麼我們就說子類的這個方法覆蓋了父類的那個方法。

方法重寫也叫方法覆蓋,需要滿足下面的條件

子類的方法的形參列表,方法名稱,要和父類的方法引數,方法名稱完全一樣。

子類方法的返回型別和父類方法返回型別一樣,或者是父類返回型別的子類。 比如,父類的返回型別是object,子類的返回型別就是string

子類方法不能縮小父類方法的訪問許可權

執行示例:

public class overrideexercise 

}class person

public person(string name, int age)

public string say()

}class student extends person

public student(string name, int age, int id, int score)

public string say()

}

執行示例:

my name is ming i'm 23 years old

my name is hong i'm 16 years old

my id is 1 my score is 120

super 重寫覆蓋

package softstudy super關鍵字 子父類出現後 類成員的特點 類中成員 1,變數 2,函式 3,建構函式 1,變數 如果子類中出現私有的同名成員變數時 子類要訪問本類中的變數 用this 子類要訪問父類中的同名變數 用super super和this的使用幾乎一致 this代表本...

方法過載和方法覆蓋(重寫)的區別

方法過載和重寫是不同的概念,主要有以下區別 1 首先是含義不同 1 方法過載是在同乙個類中,宣告多個同名方法,通過引數列表來區分不同的方法,與引數列表的數量 型別和順序有關,與修飾符和返回值型別以及丟擲異常型別無關 2 方法重寫 方法覆蓋 的前提是發生在具有繼承關係的兩個類之間,方法重寫有以下規則 ...

C 類方法的重寫與覆蓋

在c 中改變類中相同名稱的方法的實現過程中有三種方式 過載,重寫和覆蓋。首先過載是指具有相同的方法名,通過改變引數的個數或者引數型別實現同名方法的不同實現。重寫則是只在繼承中,子類通過override關鍵字修飾方法,實現父類和子類相同方法的不同實現,注意,父類方法必須是用virtual或者abstr...