亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#中抽象方法與虛擬方法的區(qū)別

 更新時間:2014年08月21日 09:12:59   投稿:shichen2014  
這篇文章主要介紹了C#中抽象方法與虛擬方法的區(qū)別,對于C#初學(xué)者來說可以深入理解抽象方法與虛擬方法,需要的朋友可以參考下

學(xué)過C#的人應(yīng)該都知道抽象方法與虛擬方法,而很多初學(xué)者對二者之間的區(qū)別并不是很了解。今天本文就來分析一下二者之間的區(qū)別。并附上實(shí)例加以說明。具體分析如下:

一、主要區(qū)別:

對于抽象方法,子類必須實(shí)現(xiàn)它

對于虛擬方法,子類可以重寫也可以不重寫

因此,兩者約束不同

二、實(shí)例代碼如下:

/* 聲明一個抽象類
* 1.抽象類中可以包含變量
* 2.抽象方法中無法聲明方法體
*/
abstract class AbsClass
{  
  string name;
  public abstract void DisplayValue(string value);
}

/*繼承抽象類的子類必須實(shí)現(xiàn)抽象方法*/
class AbsClassInherited : AbsClass
{
  /*使用override重寫實(shí)現(xiàn)*/
  public override void DisplayValue(string value)
  {
    Console.WriteLine(value.ToUpper());
  }
}
 /* 聲明虛擬函數(shù)
 */
class VirtClass
{
  /*聲明一個虛擬函數(shù)
   虛擬函數(shù)必須實(shí)現(xiàn)方法體*/
  public virtual void DisplayValue(string value)
  {
    Console.WriteLine(value);
  }
}
/*虛擬方法可以實(shí)現(xiàn)也可以不實(shí)現(xiàn)*/
class VirtClassInherited : VirtClass
{
  /*使用override重寫實(shí)現(xiàn)*/
  public override void DisplayValue(string value)
  {
    Console.WriteLine(value.ToUpper());
  }
}

/* 聲明一個接口
 * 1.接口中的方法必須是公用的
 * 2.接口中不允許有變量
 * 3.接口中的方法不允許有方法體
 */
interface IAbs
{
  void DisplayValue(string value);
}

希望本文所做的分析對大家的C#程序設(shè)計(jì)能有所幫助。

相關(guān)文章

最新評論