最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入理解C# abstract和virtual關(guān)鍵字

 更新時(shí)間:2011年06月27日 20:00:21   作者:  
深入理解C# abstract和virtual關(guān)鍵字,學(xué)習(xí)c#的朋友可以參考下。
復(fù)制代碼 代碼如下:

class A
{
public virtual void Func() // 注意virtual,表明這是一個(gè)虛擬函數(shù)
{
Console.WriteLine("Func In A");
}
}
class B : A // 注意B是從A類繼承,所以A是父類,B是子類
{
public override void Func() // 注意override ,表明重新實(shí)現(xiàn)了虛函數(shù)
{
Console.WriteLine("Func In B");
}
}
class C : B // 注意C是從B類繼承,所以B是父類,C是子類
{
}
class D : A // 注意D是從A類繼承,所以A是父類,D是子類
{
public new void Func() // 注意new ,表明覆蓋父類里的同名類,而不是重新實(shí)現(xiàn)
{
Console.WriteLine("Func In D");
}
}
class Program
{
static void Main(string[] args)
{
A a; // 定義一個(gè)a這個(gè)A類的對(duì)象.這個(gè)A就是a的申明類
A b; // 定義一個(gè)b這個(gè)A類的對(duì)象.這個(gè)A就是b的申明類
A c; // 定義一個(gè)c這個(gè)A類的對(duì)象.這個(gè)A就是c的申明類
A d; // 定義一個(gè)d這個(gè)A類的對(duì)象.這個(gè)A就是d的申明類
a = new A(); // 實(shí)例化a對(duì)象,A是a的實(shí)例類
b = new B(); // 實(shí)例化b對(duì)象,B是b的實(shí)例類
c = new C(); // 實(shí)例化c對(duì)象,C是c的實(shí)例類
d = new D(); // 實(shí)例化d對(duì)象,D是d的實(shí)例類
a.Func(); // 執(zhí)行a.Func:1.先檢查申明類A 2.檢查到是虛擬方法 3.轉(zhuǎn)去檢查實(shí)例類A,就為本身 4.執(zhí)行實(shí)例類A中的方法 5.輸出結(jié)果 Func In A
b.Func(); // 執(zhí)行b.Func:1.先檢查申明類A 2.檢查到是虛擬方法 3.轉(zhuǎn)去檢查實(shí)例類B,有重載的 4.執(zhí)行實(shí)例類B中的方法 5.輸出結(jié)果 Func In B
c.Func(); // 執(zhí)行c.Func:1.先檢查申明類A 2.檢查到是虛擬方法 3.轉(zhuǎn)去檢查實(shí)例類C,無重載的 4.轉(zhuǎn)去檢查類C的父類B,有重載的 5.執(zhí)行父類B中的Func方法 5.輸出結(jié)果 Func In B
d.Func(); // 執(zhí)行d.Func:1.先檢查申明類A 2.檢查到是虛擬方法 3.轉(zhuǎn)去檢查實(shí)例類D,無重載的(這個(gè)地方要注意了,雖然D里有實(shí)現(xiàn)Func(),但沒有使用override關(guān)鍵字,所以不會(huì)被認(rèn)為是重載) 4.轉(zhuǎn)去檢查類D的父類A,就為本身 5.執(zhí)行父類A中的Func方法 5.輸出結(jié)果 Func In A
D d1 = new D();
d1.Func(); // 執(zhí)行D類里的Func(),輸出結(jié)果 Func In D
Console.ReadLine();
}
}

相關(guān)文章

  • C#中@的用法總結(jié)

    C#中@的用法總結(jié)

    這篇文章主要介紹了C#中@的用法總結(jié),非常重要的用法總結(jié),需要的朋友可以參考下
    2014-08-08
  • C#集合之有序列表的用法

    C#集合之有序列表的用法

    這篇文章介紹了C#集合之有序列表的用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#編程自學(xué)之?dāng)?shù)據(jù)類型和變量一

    C#編程自學(xué)之?dāng)?shù)據(jù)類型和變量一

    本節(jié)課我們將學(xué)習(xí)C#編程語言的數(shù)據(jù)類型,數(shù)據(jù)類型可以分為值類型和引用類型,接著介紹變量的使用方法和作用域等內(nèi)容,為了方便大家理解,我們還會(huì)舉一些小例子作為說明。
    2015-10-10
  • C#遍歷文件夾及子目錄下所有圖片

    C#遍歷文件夾及子目錄下所有圖片

    這篇文章主要為大家詳細(xì)介紹了C# 遍歷文件夾及子目錄下所有圖片的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Unity?UGUI的StandaloneInputModule標(biāo)準(zhǔn)輸入模塊組件使用示例

    Unity?UGUI的StandaloneInputModule標(biāo)準(zhǔn)輸入模塊組件使用示例

    這篇文章主要為大家介紹了Unity?UGUI的StandaloneInputModule標(biāo)準(zhǔn)輸入模塊組件使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • C# 中的 is 真的是越來越強(qiáng)大越來越語義化(推薦)

    C# 中的 is 真的是越來越強(qiáng)大越來越語義化(推薦)

    這篇文章主要介紹了C# 中的 is 真的是越來越強(qiáng)大越來越語義化,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • C#中IntPtr類型的具體使用

    C#中IntPtr類型的具體使用

    本文主要介紹了C#中IntPtr類型的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#實(shí)現(xiàn)DataTable,List和Json轉(zhuǎn)換的方法

    C#實(shí)現(xiàn)DataTable,List和Json轉(zhuǎn)換的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)DataTable,List和Json轉(zhuǎn)換的方法,結(jié)合實(shí)例形式分析了DataTable、list、DataReader、DataSet等轉(zhuǎn)換成JSON的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-08-08
  • 深入淺析C#泛型類型

    深入淺析C#泛型類型

    這篇文章主要介紹C#泛型類型,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • C#實(shí)現(xiàn)將HTML網(wǎng)頁或HTML字符串轉(zhuǎn)換為PDF

    C#實(shí)現(xiàn)將HTML網(wǎng)頁或HTML字符串轉(zhuǎn)換為PDF

    將HTML轉(zhuǎn)換為PDF可實(shí)現(xiàn)格式保留、可靠打印、文檔歸檔等多種用途,滿足不同領(lǐng)域和情境下的需求,所以本文就來介紹一下如何使用C#實(shí)現(xiàn)將HTML網(wǎng)頁或HTML字符串轉(zhuǎn)換為PDF,有需要的可以參考下
    2024-01-01

最新評(píng)論

鹤山市| 池州市| 通许县| 伽师县| 沅江市| 襄樊市| 萍乡市| 唐山市| 休宁县| 长武县| 迭部县| 会泽县| 吴堡县| 松江区| 休宁县| 平远县| 桦南县| 弥渡县| 交城县| 承德市| 太保市| 福清市| 长沙县| 义马市| 沛县| 新干县| 南安市| 呼和浩特市| 炎陵县| 商城县| 砀山县| 巍山| 思茅市| 华池县| 溧水县| 宣武区| 册亨县| 淮阳县| 芒康县| 舞阳县| 红桥区|