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

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括魏都網(wǎng)站建設(shè)、魏都網(wǎng)站制作、魏都網(wǎng)頁制作以及魏都網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,魏都網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到魏都省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
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 修飾符重寫的:
- using System;
- public class CountClass
- {
- public int count;
- // Constructor
- public CountClass(int startValue)
- {
- count = startValue;
- }
- public virtual int StepUp()
- {
- return ++count;
- }
- }
- class Count100Class : CountClass
- {
- // Constructor
- public Count100Class(int x) : base(x)
- {
- }
- public override int StepUp()
- {
- return ((base.count) + 100);
- }
- public static void Main()
- {
- CountClass counter = new CountClass(10);
- CountClass bigCounter = new Count100Class(10);
- Console.WriteLine("Value of count in base class = {0}",
- counter.StepUp());
- Console.WriteLine("Value of count in derived class = {0}",
- bigCounter.StepUp());
- }
- }
當(dāng)我們運(yùn)行這段代碼時(shí),會(huì)發(fā)現(xiàn)派生類的構(gòu)造函數(shù)使用基類中給出的方法體,這使得我們?cè)诓粡?fù)制該代碼的情況下就可以初始化 count 成員。下面是我們得到的輸出結(jié)果:
【編輯推薦】
- C# SystemMenu類介紹
- C# VSProject對(duì)象基礎(chǔ)介紹
- C#創(chuàng)建Web應(yīng)用程序項(xiàng)目剖析
- C#調(diào)用Windows服務(wù)項(xiàng)目基礎(chǔ)描述
- C#建立項(xiàng)目簡(jiǎn)單分析
新聞標(biāo)題:C#方法重寫全面介紹
標(biāo)題路徑:http://www.dlmjj.cn/article/dpejpsg.html


咨詢
建站咨詢
