標籤:strong pad 技術分享 eve win sha 分析 工具 自訂控制項
學過C#的人應該都知道抽象方法與虛擬方法,而很多初學者對二者之間的區別並不是很瞭解。今天本文就來分析一下二者之間的區別。並附上執行個體加以說明。具體分析如下:
一、主要區別:
對於抽象方法,子類必須實現它
。
對於虛擬方法,子類可以重寫也可以不重寫
。
因此,
兩者約束不同
二、執行個體代碼如下:
/* 聲明一個抽象類別* 1.抽象類別中可以包含變數* 2.抽象方法中無法聲明方法體*/abstract class AbsClass{ string name; public abstract void DisplayValue(string value);}/*繼承抽象類別的子類必須實現抽象方法*/class AbsClassInherited : AbsClass{ /*使用override重寫實現*/ public override void DisplayValue(string value) { Console.WriteLine(value.ToUpper()); }} /* 聲明虛擬函數 */class VirtClass{ /*聲明一個虛擬函數 虛擬函數必須實現方法體*/ public virtual void DisplayValue(string value) { Console.WriteLine(value); }}/*虛擬方法可以實現也可以不實現*/class VirtClassInherited : VirtClass{ /*使用override重寫實現*/ public override void DisplayValue(string value) { Console.WriteLine(value.ToUpper()); }}/* 聲明一個介面 * 1.介面中的方法必須是公用的 * 2.介面中不允許有變數 * 3.介面中的方法不允許有方法體 */interface IAbs{ void DisplayValue(string value);}
希望本文所做的分析對大家的C#程式設計能有所協助。
除聲明外,
跑步客文章均為原創,轉載請以連結形式標明本文地址
C#中抽象方法與虛擬方法的區別
本文地址: http://www.paobuke.com/develop/c-develop/pbk23625.html
相關內容C#使用MCI建立的視頻或聲音播放器 原始碼下載C#實現關閉子視窗而不釋放子視窗對象的方法C#操作LINQ to SQL組件進行資料庫建模的基本教程C#自訂控制項添加右鍵菜單的方法
基於C#實現XML檔案讀取工具類C#中Dictionary類使用執行個體C#通過鏈表實現隊列的方法WinForm相對路徑的陷阱
C#中抽象方法與虛擬方法的區別