C#中的方法(二)
| 前言 |
C#中的方法(一)。本篇博文將為大家分享一些方法中的特殊方法內容— 虛方法、抽象方法、靜態方法、實例方法。
| 正文 |
? ? 用virtual修飾的方法叫做虛方法。虛方法可以在子類中通過override關鍵字來重寫。常見的虛方法:ToString()Equals。
? ? 特點:虛方法不能用static修飾,方法重寫與基類的簽名必須一致。virtual不能與private同時使用。
版本控制:需要保留基類方法使用new關鍵字;需要重寫方法時使用override關鍵字。
重寫:不同對象對于同一個方法調用產生不同的行為(指不同對象收到相同消息時會產生不同行為)。
重寫與重載的區別:重載與重寫之間沒有關系,一字之差它們就有天壤之別。重載是方法的名稱相同,參數或參數類型不同,進行多次重載以適應不同的需要,重載是面向過程的概念。而重寫是使用Override進行基類中函數的重寫,重寫是面向對象的概念。
子類重寫父類的方法:虛方法、重寫方法(重寫基類方法一樣可以調用基類方法)。
子類可以有與父類方法名相同的方法:子類與父類簽名相同,可以在子類中使用隱藏基類的方法,但是會出現一條綠線。解決辦法:1.可以在子類方法的修飾符后面加new就解決了。無論是否加new 都不影響使用。new隱藏了父類的方法。2.把父類中的方法轉換成虛方法,在void前面加virtual,把子類中的方法重寫 加override。即在父類的方法的修飾符后面加virtual,在子類中重寫父類的方法,在子類方法的修飾符后面加上override;調用父類的方法,但是把父類的方法進行重寫了,更換了方法里面的內容。
抽象方法:
? ? 抽象方法由abstract修飾。使用abstract注意事項:抽象方法沒有方法體,抽象方法必須存在于抽象類中(抽象成員只能存在于抽象類中)、必須被子類重寫。
虛方法與抽象方法比較:
靜態方法與實例方法:
? ? 定義和調用:
| 結語 |
總結
- 上一篇: C#中的方法(一)
- 下一篇: C#中的集合、哈希表、泛型集合、字典