關於 重寫 和 覆蓋。

2022-02-16 13:09:41 字數 891 閱讀 5359

最開始 覺得沒區別 看了篇文章後發現有區別。

就是在當用子類建立父類的時候就有區別了

** 直接用別人的了

public

classc1}

public

class

c2 : c1

} c1 c1 = new

c1();

console.writeline(c1.getname());

//輸出「徐明祥」

c2 c2 = new

c2();

console.writeline(c2.getname());

//輸出「xumingxiang」 //

重點看這裡

c1 c3 = new

c2();

console.writeline(c3.getname());

//輸出「xumingxiang」

public

classc1}

public

class

c2 : c1

}c1 c1 = new

c1();

console.writeline(c1.getname());

//輸出「徐明祥」

c2 c2 = new

c2();

console.writeline(c2.getname());

//輸出「xumingxiang」

//重點看這裡,和上面的重寫作比較

c1 c3 = new

c2();

console.writeline(c3.getname());

//輸出「徐明祥」

區別出來了。

在覆蓋的時候  其實用子類建立父類 還是會輸出父類的~

過載和覆蓋重寫

過載即在同乙個類中,方法名稱相同,引數列表不同 引數列表的順序不同或者引數列表的個數不同 的方法,稱為過載。public class overloaddemo public overloaddemo string name,int age public overloaddemo string nam...

C 過載和重寫 覆蓋

何為重寫?重寫 override 指子類修改父類中某個函式的函式體,需要重寫的父類中的函式必須是由virtual abstract 或 override標註的,不能重寫非虛方法或靜態方法。override是在繼承的時候,如果你寫的函式與要繼承的函式函式特徵 函式特徵包括函式名,引數的型別和個數 相同...

關於C 中類方法的重寫和覆蓋

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