自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#方法重寫全面介紹

開發(fā) 后端
這里介紹C#方法重寫,派生類中要被C#方法重寫是用 virtual 修飾符聲明的。而在派生類中,已被C#方法重寫用 override 修飾符聲明。

C#語言有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#方法重寫,包括介紹 virtual 修飾符和override 修飾符等方面。

C#方法重寫

通過為聲明的方法提供新的實(shí)現(xiàn),派生類可以重寫基類的方法。Java 和 C# 之間的一個(gè)重要區(qū)別在于,Java 方法在默認(rèn)情況下標(biāo)記為虛方法,而在 C# 中,必須使用 virtual 修飾符才能將方法顯式標(biāo)記為虛方法??梢圆捎么笾孪嗤姆绞街貙憣傩栽L問器以及方法。

派生類中要被C#方法重寫是用 virtual 修飾符聲明的。而在派生類中,已被C#方法重寫用 override 修飾符聲明。

override 修飾符表示派生類的方法或?qū)傩裕@個(gè)派生類代替基類中具有相同的名稱和簽名的類。要被重寫的基方法必須聲明為 virtual、abstract 或 override:以這種方式重寫非虛方法或靜態(tài)方法是不可能的 — 請(qǐng)參見關(guān)于此問題的下一部分。已被C#方法重寫或?qū)傩院椭貙懛椒ɑ驅(qū)傩员仨毦哂邢嗤脑L問級(jí)修飾符。

下面的示例顯示了一個(gè)稱為 StepUp 的虛方法,它是在派生類中用 override 修飾符重寫的:

  1. using System;  
  2. public class CountClass  
  3. {  
  4. public int count;  
  5.  
  6. // Constructor  
  7. public CountClass(int startValue)  
  8. {  
  9. count = startValue;  
  10. }  
  11.  
  12. public virtual int StepUp()  
  13. {  
  14. return ++count;  
  15. }  
  16. }  
  17.  
  18. class Count100Class : CountClass  
  19. {  
  20. // Constructor  
  21. public Count100Class(int x) : base(x)  
  22. {  
  23. }  
  24.  
  25. public override int StepUp()  
  26. {  
  27. return ((base.count) + 100);  
  28. }  
  29.  
  30. public static void Main()  
  31. {  
  32. CountClass counter = new CountClass(10);  
  33. CountClass bigCounter = new Count100Class(10);  
  34. Console.WriteLine("Value of count in base class = {0}",  
  35. counter.StepUp());  
  36. Console.WriteLine("Value of count in derived class = {0}",  
  37. bigCounter.StepUp());  
  38. }  

當(dāng)我們運(yùn)行這段代碼時(shí),會(huì)發(fā)現(xiàn)派生類的構(gòu)造函數(shù)使用基類中給出的方法體,這使得我們?cè)诓粡?fù)制該代碼的情況下就可以初始化 count 成員。下面是我們得到的輸出結(jié)果:

【編輯推薦】

  1. C# SystemMenu類介紹
  2. C# VSProject對(duì)象基礎(chǔ)介紹
  3. C#創(chuàng)建Web應(yīng)用程序項(xiàng)目剖析
  4. C#調(diào)用Windows服務(wù)項(xiàng)目基礎(chǔ)描述
  5. C#建立項(xiàng)目簡(jiǎn)單分析
責(zé)任編輯:佚名 來源: chinaitlab
相關(guān)推薦

2009-08-07 17:45:29

C#預(yù)處理

2009-08-03 17:12:40

C#指針操作

2009-09-01 10:20:28

C#多種語句

2009-07-31 15:52:47

C#常用函數(shù)

2009-08-11 15:17:12

C#基礎(chǔ)知識(shí)

2009-08-14 16:01:22

C#面向?qū)ο?/a>

2009-08-20 16:25:59

C# 匿名方法

2009-08-14 17:27:56

C#方法參數(shù)

2009-08-25 17:15:50

C#隱藏C#重寫C#重載

2020-02-28 09:00:00

ObjectC#編程語言

2009-08-05 15:04:14

C# dll注入

2009-08-24 17:46:54

C#創(chuàng)建XML文檔

2025-02-13 09:32:12

C#重寫override

2009-09-04 11:19:40

C#數(shù)字格式化

2009-08-12 18:35:36

C# ArrayLis

2009-08-28 17:01:43

C#構(gòu)造函數(shù)

2009-08-05 16:29:18

C#調(diào)用C++動(dòng)態(tài)鏈接

2009-08-11 14:57:11

比較C#和Java

2009-09-18 10:45:31

C#數(shù)組操作

2009-09-08 16:58:24

c#checklist
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)