none or internal 類只能在當前的工程中訪問
public 類可以在任何地方訪問
abstract or internal abstract 類可以在當前的工程中訪問,不能例項化,只能繼承
public abstract 類可以在任何地方訪問,不能例項化,只能繼承
sealed or internal sealed 類只能在當前的工程中訪問,只能例項化,不能繼承
public sealed 類可以在任何地方訪問,只能例項化,不能繼承
更為全面的解釋(c#中的修飾符):
1、用於關鍵字class的修飾符
1)internal 預設修飾符,指定類為內部的,只有當前工程中的**才能訪問它
2)public 指定類為公共的,其它工程中的**也可以訪問它
3)abstract 指定類為抽象的,不能例項化,只能繼承,可以有抽象成員
4)sealed 密封的,不能繼承
其中,internal和public是一對互斥關係,abstract和sealed是一對互斥關係,兩對之間可以互相搭配使用。
預設類定義如下:
class a{}即相當於internal class a{},internal通常是省略的。
2、用於關鍵字inte***ce的修飾符
1)public和private 這對訪問修飾符和關鍵字class的定義是一樣的,由於介面的公共特性通常使用public
2)abstract和sealed 這對修飾符不能在介面中使用,因為它們對介面毫無意義
當定義派生類時,如果同時有基類和介面,那麼先寫基類再寫介面,用逗號分開,只能繼承乙個基類但可以有多個介面,如:
class derivedclass:baseclass,iinte***ce1,iinte***ce2
介面定義和繼承如下:
public inte***ce imyinte***ce:iinte***ce1,iinte***ce2
3 、用於類成員(包括字段、屬性、方法)的修飾符
1)public--成員可以由任何**訪問
2)private--成員只能由本類中的**訪問(預設值)
3)internal--成員只能由定義它的工程(裝配件)內部的**訪問
4)protected--成員只能由類或派生類中的**訪問
最後兩個關鍵字可以合併使用,即protected internal,只能由工程(裝配件)中類和派生類的**訪問。此外與以上關鍵字並行的還有static,表示類的靜態成員,而不是類的例項成員。欄位還可以定義為realonly,只能在定義時或建構函式中賦值並賦值後不可更改。
4、類方法還有另外的關鍵字定義
1)virtual--方法可以重寫
2)abstract--方法必須重寫(只用於抽象類中,如果類方法定義了abstract則class也必須追加abstract)
3)override--方法過載了乙個基類方法(如果方法被過載則必須使用該關鍵字)
4)extern--方法定義在其他地方
另:派生類的類方法還可以使用new來隱藏基類方法;通過this指向當前類例項引用,通過base關鍵字指向基類例項引用。
C 修飾符 類修飾符和成員修飾符
c 修飾符之類修飾符 public internal partial abstract sealed static internal 本程式集內的成員可以訪問。partial 部分類,可以將乙個類分成幾部分寫在不同檔案中,最終編譯時將合併成乙個檔案,且各個部分不能分散在不同程式集中。c 修飾符之成員...
C 的修飾符
類的訪問修飾符主要有兩個 internal和public,預設為internal 這裡說的類包括介面 結構體 列舉 委託。類成員的訪問修飾符有四個 public private internal protected 指定了六個可訪問性級別 public private internal protec...
C 的類修飾符和成員修飾符
一 類修飾符 類修飾符 public internal partial abstract sealed static new protected private protected internal 1 public 訪問不受限制的,所有的本程式集以及其他的程式集裡面的類都能夠訪問 2 intern...