亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C# 的關鍵字詳細介紹

2020-01-24 03:39:30
字體:
來源:轉載
供稿:網友
用于修飾類,方法,屬性和字段的關鍵字:
25EF2F35FEAF4121BB818989474E8D99 
首先從最簡單的private,protected,internal,public 解釋。
public 和internal 修飾類。
public,protected,private 修飾方法。
修飾類的時候
public 代表公開,也就是所有程序集都可以訪問這個類。
internal 代表內部的,也就是只有在同一程序集中才能訪問這個類,一般而言同一程序集就是同一個dll。
修飾方法的時候:
public 代表公開,也就是所有的類都可以訪問這個方法。
protected 代表受保護的,也就是只有我的子類才能訪問這個方法。
private 代表私有的,也就是只有我才能訪問這個方法。
接著我們來討論下const,readonly 的區別:
首先兩者都是常量,不同的是const 是編譯時常量,readonly是運行時常量。
編譯時常量:在編譯的時候,值就已經是常量了,任何使用該變量的地方都會被替換成常量值。
運行時常量:在運行的時候,值不能夠被修改。
復制代碼 代碼如下:

public class Test
{
public const string constStr = "this is a test";
public readonly string readonlyStr = "this can't be modified in runtime time";
public void Method1()
{
string s1 = constStr; // 在編譯的時候,這句話就會被替換成 string s1 = "this is a test";
readonlyStr = "error";
//嘗試修改readonlyStr,無法通過編譯,
//拋出錯誤:readonly 字段只有在構造函數和初始化的時候才能修改。
}
}

55CED59AEF3A442CAD539A7F94A09CA9 
OK,現在我們討論下abstract, virtual , new , override 關鍵字:
首先abstract 代表的是抽象,abstract 可以修飾類和方法。
修飾類的時候:
這個時候叫做抽象類,抽象類有下列性質:
抽象類不能實例化。
抽象類可以包含抽象方法和抽象訪問器,訪問器實際上也是方法。
不能用 sealed修飾符修飾抽象類,因為這兩個修飾符的含義是相反的。 采用 sealed 修飾符的類無法繼承,而 abstract 修飾符要求對類進行繼承。
從抽象類派生的非抽象類必須包括繼承的所有抽象方法和抽象訪問器的實際實現。
修飾方法的時候
這個時候叫做抽象方法,性質如下:
抽象方法是隱式的虛方法(用virtual 修飾方法的叫做虛方法)。
只允許在抽象類中使用抽象方法聲明,只要使用抽象方法,那么這個就是抽象類。
因為抽象方法聲明不提供實際的實現,所以沒有方法體;方法聲明只是以一個分號結束,并且在簽名后沒有大括號 ({ })。 例如:
public abstract void MyMethod();
實現由一個重寫方法override 提供,此重寫方法是非抽象類的一個成員。
在抽象方法聲明中使用 static 或 virtual 修飾符是錯誤的,因為抽象方法需要被重寫,所以不能用static修飾,因為抽象方法是隱式的虛方法,所以不能用virtual修飾。
除了在聲明和調用語法上不同外,抽象屬性的行為與抽象方法一樣,屬性本質上是方法。
在靜態屬性上使用 abstract 修飾符是錯誤的。
在派生類中,通過包括使用 override 修飾符的屬性聲明,可以重寫抽象的繼承屬性。
virtual 關鍵字代表虛擬的,虛的,修飾的是方法。
修飾方法的時候:
這個時候叫做虛方法,虛方法代表這個方法是虛的,這個方法可能沒有實現,這個方法可以被重寫。
關鍵的一句話是:這個方法可以被重寫。
這代表,如果這個方法想要被重寫,被override,那么它就必須是一個虛方法,因為abstract修飾的方法是隱式的虛方法,所以abstract和virtual 修飾的方法可以被override。
override 關鍵字代表重寫,修飾的是方法。
override 方法提供從基類繼承的成員的新實現。 由 override 聲明重寫的方法稱為重寫基方法。 重寫的基方法必須與 override 方法具有相同的簽名。
修飾方法的時候
1:不能重寫非虛方法或靜態方法。 重寫的基方法必須是 virtual、abstract 或 override 的。
override 方法和 virtual 方法必須具有相同的訪問級別修飾符。
2:您不能使用 new、static 或 virtual 修飾符來修改 override 方法。
3:重寫屬性聲明必須指定與繼承屬性完全相同的訪問修飾符、類型和名稱,并且被重寫的屬性必須
是 virtual、abstract 或 override 的。
new 關鍵字代表隱藏,修飾的是方法。
new 和override 的區別是,new 是隱藏父類方法,這就好比告訴別人,這個方法和父類的方法是兩個不同的方法,只是他們的簽名剛好相同罷了,override 則不同,override 告訴別人,以后用我的instance調用的就是我的方法,用父類的instance調用的就是父類的方法。
總結下:abstract,virtual,override,new 的關系。
override 的方法必須是abstract ,virtual, override 的。
abstract 的方法是隱式的virtual 方法。
virtual 的方法代表這個方法可以被重寫,當然你也可以不重寫它。
abstract的方法代表這個方法是必須被重寫的方法。
new 的方法代表這個方法和父類的沒關系,是一個新的“new” 方法,只是剛好簽名相同罷了。
最后一道題
復制代碼 代碼如下:

class A
{
public virtual void F()
{
Console.WriteLine("A.F");
}
}
class B : A
{
public override void F()
{
Console.WriteLine("B.F");
}
}
class C : B
{
new public virtual void F() { Console.WriteLine("C.F"); }
}
class D : C
{
public override void F() { Console.WriteLine("D.F"); }
}
class Program2
{
static void Main()
{
D d = new D();
A a = d; B b = d;
C c = d; a.F(); b.F();
c.F();
d.F();
}
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品视频中文字幕| 69国产精品成人在线播放| 亚洲激情久久久| 日韩欧美中文第一页| 亚洲精品之草原avav久久| 色偷偷偷综合中文字幕;dd| 国产亚洲精品久久久久久777| 美女黄色丝袜一区| 久久香蕉国产线看观看网| 午夜精品一区二区三区在线视频| 日韩电影免费观看在线| 日韩小视频在线观看| 亚洲国产日韩欧美在线图片| 亚洲bt天天射| 欧美理论电影在线播放| 9.1国产丝袜在线观看| 91久久久久久久久久久| 成人欧美一区二区三区在线湿哒哒| 欧美理论电影在线观看| 欧美在线中文字幕| 亚洲美女av黄| 日韩在线观看免费高清| 亚洲www在线| 日韩精品免费一线在线观看| 亚洲一区免费网站| 成人天堂噜噜噜| 久久久久久久久久亚洲| 中文字幕欧美日韩在线| 亚洲一区二区三区四区视频| 亚洲国产精彩中文乱码av在线播放| 国产精品视频网站| 久久影视三级福利片| 日本精品久久久| yellow中文字幕久久| 亚洲午夜精品久久久久久性色| 久久免费观看视频| 亚洲在线视频观看| xvideos成人免费中文版| www.日韩系列| 国内精品美女av在线播放| 国产精品久久久久久久久久久不卡| 91免费电影网站| 国产盗摄xxxx视频xxx69| 亚洲第一精品夜夜躁人人躁| 国产一区二区三区三区在线观看| 亚洲国产天堂久久综合| 国产精品久久久久免费a∨大胸| 欧美大片网站在线观看| 国产精品久久久久99| 久久久久久18| 亚洲福利视频专区| 欧美成人免费视频| 国产主播喷水一区二区| 在线观看国产精品淫| 国产精品免费视频久久久| 国产成人精品久久| 日韩精品日韩在线观看| 亚洲综合一区二区不卡| 日韩在线精品视频| 欧美中文字幕第一页| 欧美成人精品在线视频| 国产精品丝袜视频| 人人爽久久涩噜噜噜网站| 亚洲国产精品成人va在线观看| 91精品国产高清久久久久久91| 不卡av电影在线观看| 亚洲aaaaaa| 在线免费看av不卡| 国产精品伦子伦免费视频| 亚洲男人天堂2024| 日本欧美精品在线| 欧美另类老女人| 青青草原成人在线视频| 色诱女教师一区二区三区| 91久久国产精品| 中文字幕精品—区二区| 91中文字幕在线| 亚洲高清福利视频| www.日韩欧美| 日韩毛片在线看| 欧美专区在线播放| 久久好看免费视频| 一区二区av在线| 欧美激情综合色| 国产午夜精品理论片a级探花| 91久久国产精品91久久性色| 国内精久久久久久久久久人| 色综合久久天天综线观看| 欧美巨大黑人极品精男| 少妇高潮 亚洲精品| 久久久久久成人精品| 日韩精品在线视频| 国产精品久久久久久久7电影| 欧美精品一区二区免费| 91福利视频网| 国产精品劲爆视频| 亚洲国产精品电影在线观看| 日本精品性网站在线观看| 91精品久久久久久久久久久久久| 亚洲国产精久久久久久| 欧美日韩一区二区免费在线观看| 黑人精品xxx一区一二区| 福利视频导航一区| 黄色一区二区在线| 欧美视频精品一区| 九九热最新视频//这里只有精品| 欧美色欧美亚洲高清在线视频| 日韩免费不卡av| 91国产精品电影| 久久久久久国产精品久久| 亚洲国产97在线精品一区| 久久久久久999| 欧美激情视频一区二区| 91九色国产视频| 国产一区二中文字幕在线看| 国产精品电影网站| 日韩在线播放一区| 国产精品入口免费视频一| 亚洲乱码国产乱码精品精天堂| 这里只有精品在线观看| 国产在线播放91| 国产精品日韩在线| 日韩av第一页| 伊人伊成久久人综合网站| 北条麻妃在线一区二区| 91国内揄拍国内精品对白| 亚洲男人天堂久| 国产精品极品美女粉嫩高清在线| 亚洲精品www| 国产精品永久免费| 国外成人在线播放| 一区二区国产精品视频| 亚洲精品国产精品国产自| 色琪琪综合男人的天堂aⅴ视频| 91精品国产亚洲| 亚洲伊人成综合成人网| 欧美噜噜久久久xxx| 欧美日韩一区免费| 91精品久久久久| 欧美激情在线视频二区| 秋霞av国产精品一区| 久久久天堂国产精品女人| 久久亚洲精品成人| 亚洲一区二区中文字幕| 久久露脸国产精品| 色中色综合影院手机版在线观看| 亚洲精品98久久久久久中文字幕| 欧美精品情趣视频| 日韩精品www| 国产不卡在线观看| 亚洲a级在线观看| 精品国产乱码久久久久久虫虫漫画| 91色琪琪电影亚洲精品久久| xxav国产精品美女主播| 亚洲色图综合久久| 57pao成人国产永久免费| 亚洲人成欧美中文字幕| 亚洲成人aaa| 日本国产一区二区三区| 韩国v欧美v日本v亚洲| 国产成人福利视频| 国产区精品在线观看| 中文字幕久久久av一区| 97久久精品人人澡人人爽缅北|