C 重寫和過載

2022-05-03 20:00:14 字數 984 閱讀 2268

要求:(三大同)引數相同,方法名相同,返回值相同

意義:增強類的重用性,擴充套件性,重寫是對類中方法的擴充,重寫繼承用的是父類的東西,則不僅得到父類的特徵,同時也加入了自己的東西

關鍵字:基類函式用virtual修飾,派生類用override修飾

注意:不能重寫非虛方法或靜態方法;

testdemo

主題為動物,貓和狗屬於動物,在這可以看出它們都有乙個特性,都是會叫的動物但它們發出的叫聲都不相同;我們可以用到重寫去實現;

定義乙個動物animal類,類中存在乙個返回string型別的cry()方法;

定義完動物基類,接著則是貓和狗類,我們可以override去重寫它們的叫聲

定義cat && dog 類,因為他們都屬於動物,so,都繼承animal;

方法都實現之後,我們在static 的 main 方法中輸入它,將cat && dog例項出來,看具體實現效果

實際效果:

要求:(兩必須一可以)方法名必須相同,引數列表必須不相同,返回值型別可以不相同

在同一作用域,可以存在相同的函式名,不同引數列表的函式,這組函式稱為過載函式

意義:減少函式的數量,避免命名的汙染,可應對不同的需求,針對同一母的不同情況 

testdemo

定義兩個fun()方法但乙個有入參,入參型別為string,另外乙個則無入參,但方法名相同

在方法中例項出來並輸出到控制台

實際執行效果:

*補充點:剛剛提到static

那c#中static的作用?

標記為static的就不用建立例項物件呼叫了,可以通過類名直接點出來。

static可修飾類、字段、屬性、方法。

**:

C 重寫和過載

已遷移至本人部落格 首先分別建立三個類,分別為person,man,women 其中person為父類,man繼承person,women繼承man virtual用法 1.在父類中定義virtual方法,但在子類中沒有override該方法,則子類呼叫父類該方法時輸出父類方法的值。2.在父類中定義...

C 過載和重寫 覆蓋

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

C 過載 隱藏和重寫

1.什麼是過載呢?過載 同乙個作用域,相同函式名,引數列表不同,與返回值是否相同沒有關係,過載又稱靜態多型 過載的作用 減輕程式設計師對函式名的記憶負擔,可讓所有功能相同的函式使用同乙個名字。引數列表不同可表現在 1 引數個數方面 例如 int add int i,int j int add int...