麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

深入理解C# abstract和virtual關鍵字

2020-01-24 03:43:17
字體:
來源:轉載
供稿:網(wǎng)友
復制代碼 代碼如下:

class A
{
public virtual void Func() // 注意virtual,表明這是一個虛擬函數(shù)
{
Console.WriteLine("Func In A");
}
}
class B : A // 注意B是從A類繼承,所以A是父類,B是子類
{
public override void Func() // 注意override ,表明重新實現(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 ,表明覆蓋父類里的同名類,而不是重新實現(xiàn)
{
Console.WriteLine("Func In D");
}
}
class Program
{
static void Main(string[] args)
{
A a; // 定義一個a這個A類的對象.這個A就是a的申明類
A b; // 定義一個b這個A類的對象.這個A就是b的申明類
A c; // 定義一個c這個A類的對象.這個A就是c的申明類
A d; // 定義一個d這個A類的對象.這個A就是d的申明類
a = new A(); // 實例化a對象,A是a的實例類
b = new B(); // 實例化b對象,B是b的實例類
c = new C(); // 實例化c對象,C是c的實例類
d = new D(); // 實例化d對象,D是d的實例類
a.Func(); // 執(zhí)行a.Func:1.先檢查申明類A 2.檢查到是虛擬方法 3.轉去檢查實例類A,就為本身 4.執(zhí)行實例類A中的方法 5.輸出結果 Func In A
b.Func(); // 執(zhí)行b.Func:1.先檢查申明類A 2.檢查到是虛擬方法 3.轉去檢查實例類B,有重載的 4.執(zhí)行實例類B中的方法 5.輸出結果 Func In B
c.Func(); // 執(zhí)行c.Func:1.先檢查申明類A 2.檢查到是虛擬方法 3.轉去檢查實例類C,無重載的 4.轉去檢查類C的父類B,有重載的 5.執(zhí)行父類B中的Func方法 5.輸出結果 Func In B
d.Func(); // 執(zhí)行d.Func:1.先檢查申明類A 2.檢查到是虛擬方法 3.轉去檢查實例類D,無重載的(這個地方要注意了,雖然D里有實現(xiàn)Func(),但沒有使用override關鍵字,所以不會被認為是重載) 4.轉去檢查類D的父類A,就為本身 5.執(zhí)行父類A中的Func方法 5.輸出結果 Func In A
D d1 = new D();
d1.Func(); // 執(zhí)行D類里的Func(),輸出結果 Func In D
Console.ReadLine();
}
}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久久久亚洲美女啪啪 | 精精国产xxxx视频在线播放7 | 蜜桃网站在线观看 | chinese-xvideos| 日本特级a一片免费观看 | 日本羞羞影院 | 韩毛片| 一级啪啪片 | 久久精品女人天堂av | 男女牲高爱潮免费视频男女 | 日韩精品一区二区三区中文 | 久久视频精品 | 国产精品成人一区二区三区电影毛片 | 成人男女啪啪免费观看网站四虎 | av成人免费在线观看 | 色淫影院 | 欧美中文字幕一区二区三区亚洲 | 亚洲第一成av人网站懂色 | 亚洲午夜一区二区三区 | 深夜网站在线观看 | 国产日产精品一区二区三区四区 | 91精品久久香蕉国产线看观看 | 久久最新视频 | 成人午夜免费观看 | 综合国产一区 | 国产1区2区在线 | 久久精品中文字幕一区 | 亚洲情视频| 免费视频a | 成人精品久久 | 在线播放中文 | 99re久久最新地址获取 | 视频国产一区二区 | 精品亚洲二区 | 欧美一级黄色录相 | 国产性tv国产精品 | 毛片福利 | 中文在线观看视频 | 在线看免电影网站 | 一级免费黄色 | 婷婷亚洲一区二区三区 |