C#中virtual修飾符的作用是什么

C# 中virtual修飾符的作用是什么,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

創新互聯服務項目包括南平網站建設、南平網站制作、南平網頁制作以及南平網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,南平網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到南平省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!

C# virtual修飾符用于修改方法或屬性的聲明,在這種情況下,方法或屬性被稱作虛擬成員。虛擬成員的實現可由派生類中的重寫成員更改。

調用虛方法時,將為重寫成員檢查該對象的運行時類型。將調用大部分派生類中的該重寫成員,如果沒有派生類重寫該成員,則它可能是原始成員。

默認情況下,方法是非虛擬的。不能重寫非虛方法。

不能將C# virtual修飾符與以下修飾符一起使用:

static   abstract   override

除了聲明和調用語法不同外,虛擬屬性的行為與抽象方法一樣。
◆在靜態屬性上使用C# virtual修飾符是錯誤的。
◆通過包括使用 override 修飾符的屬性聲明,可在派生類中重寫虛擬繼承屬性。

上邊是微軟的官方說明,個人認為,如果自己覺得這個方法通用性不強就用virtual去聲明這個方法,然后用戶可以根據自己不同的情況首先繼承它然后對它進行重載。下面我們來看一下微軟給的例子:

示例

在該示例中,Dimensions 類包含 x 和 y 兩個坐標和 Area() 虛方法。不同的形狀類,如 Circle、Cylinder 和 Sphere 繼承 Dimensions 類,并為每個圖形計算表面積。每個派生類都有各自的 Area() 重寫實現。根據與此方法關聯的對象,通過調用正確的 Area() 實現,該程序為每個圖形計算并顯示正確的面積。

// cs_virtual_keyword.cs  // Virtual and override  using System;  class TestClass   {  public class Dimensions   {  public const double pi = Math.PI;  protected double x, y;  public Dimensions()   {  }  public Dimensions (double x, double y)   {  this.x = x;  this.y = y;  }   public virtual double Area()   {  return x*y;  }  }   public class Circle: Dimensions   {  public Circle(double r): base(r, 0)   {  }   public override double Area()   {   return pi * x * x;   }  }   class Sphere: Dimensions   {  public Sphere(double r): base(r, 0)   {  }   public override double Area()  {  return 4 * pi * x * x;   }  }   class Cylinder: Dimensions   {  public Cylinder(double r, double h): base(r, h)   {  }   public override double Area()   {  return 2*pi*x*x + 2*pi*x*y;   }  }   public static void Main()    {  double r = 3.0, h = 5.0;  Dimensions c = new Circle(r);  Dimensions s = new Sphere(r);  Dimensions l = new Cylinder(r, h);  // Display results:  Console.WriteLine("Area of Circle   = {0:F2}", c.Area());  Console.WriteLine("Area of Sphere   = {0:F2}", s.Area());  Console.WriteLine("Area of Cylinder = {0:F2}", l.Area());  }  }

看完上述內容,你們掌握C# 中virtual修飾符的作用是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!

標題名稱:C#中virtual修飾符的作用是什么
URL地址:http://m.kartarina.com/article0/jedhoo.html

成都網站建設公司_創新互聯,為您提供電子商務網頁設計公司標簽優化域名注冊網站制作外貿網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

微信小程序開發
主站蜘蛛池模板: 精品无码一区在线观看| 小12箩利洗澡无码视频网站| 人妻av无码专区| 无码毛片一区二区三区视频免费播放 | 无码人妻丰满熟妇区免费| 久久久久无码精品国产| 亚洲人成无码www久久久| 久久人妻无码中文字幕| 国产精品无码素人福利| 在线看片福利无码网址| 成人无码视频97免费| 亚洲中文字幕久久精品无码VA| 亚洲av无码国产精品色在线看不卡 | 西西午夜无码大胆啪啪国模| 无码高潮爽到爆的喷水视频app| 一本一道AV无码中文字幕| 69成人免费视频无码专区| 久久久久久人妻无码| 波多野结衣AV无码久久一区| 免费无码又爽又刺激毛片| 亚洲国产成人无码av在线播放| 亚洲精品无码不卡在线播HE| 精品人妻系列无码人妻免费视频| 亚洲精品久久无码av片俺去也 | 无码任你躁久久久久久| 久久无码国产专区精品| 日韩乱码人妻无码中文字幕久久| 亚洲乱码无码永久不卡在线| 本免费AV无码专区一区| 中文成人无码精品久久久不卡| 亚洲a无码综合a国产av中文| 高清无码午夜福利在线观看| 特级无码毛片免费视频尤物| 玖玖资源站无码专区| 久久精品无码专区免费东京热| 午夜无码国产理论在线| 亚洲av无码不卡久久| 精品无码免费专区毛片| 无码丰满熟妇一区二区| 精品无码成人片一区二区| HEYZO无码综合国产精品|