日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
簡(jiǎn)介C#虛擬方法

當(dāng)類中的方法聲明前加上了virtual修飾符,我們稱之為C#虛擬方法 ,反之為非虛。使用了virtual修飾符后,不允許再有static、abstract或override修飾符。對(duì)于非虛的方法,無(wú)論被其所在類的實(shí)例調(diào)用,還是被這個(gè)類的派生類的實(shí)例調(diào)用,方法的執(zhí)行方式不變。而對(duì)于虛方法,它的執(zhí)行方式可以被派生類改變,這種改變是通過(guò)方法的重載來(lái)實(shí)現(xiàn)的。

十多年專注成都網(wǎng)站制作,企業(yè)網(wǎng)站設(shè)計(jì),個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站設(shè)計(jì),高端網(wǎng)頁(yè)制作,對(duì)成都雨棚定制等多個(gè)領(lǐng)域,擁有多年的網(wǎng)站制作經(jīng)驗(yàn)。

下面的例子說(shuō)明了C#虛擬方法與非虛方法的區(qū)別。

例子:

 
 
 
  1. using System;  
  2. class A  
  3. {  
  4.    public void F(){Console.WriteLine("A.F");}  
  5.    public virtual void G(){Console.WriteLine("A.G");}  
  6. }  
  7. class B:A  
  8. {  
  9.    new public void F(){Console.WriteLine("B.F");}  
  10.    public override void G(){Console.WriteLine("B.G");}  
  11. }  
  12. class Test  
  13. {  
  14.    static void Main()  
  15.    {  
  16.       B b=new B();  
  17.       A a=b;  
  18.       a.F();  
  19.       b.F();  
  20.       a.G();  
  21.       b.G();  
  22.    }  

例子中,A類提供了兩個(gè)方法:非虛的F和C#虛擬方法 G.類B則提供了一個(gè)新的非虛的方法F,從而覆蓋了繼承的F;類B同時(shí)還重載了繼承的方法G.那么輸出應(yīng)該是:

A.F

B.F

B.G

B.G

注意到本例中,方法a.G()實(shí)際調(diào)用了B.G,而不是A.G.這是因?yàn)榫幾g時(shí)值為A,但運(yùn)行時(shí)值為B,所以B完成了對(duì)方法的實(shí)際調(diào)用。


分享名稱:簡(jiǎn)介C#虛擬方法
分享URL:http://www.dlmjj.cn/article/dhijsod.html