C#的修飾符


C#修飾符之類修飾符:public、internal、 partial、abstract、sealed、static

C#修飾符之成員修飾符:public、protected、private、internal、sealed、abstract、virtual、override、readonly、const

c#里面一共有五種訪問修飾符,五種中每個種的訪問權限都是不一樣的

public:(可以修飾類也可以修飾成員)公共的,最高的訪問級別,訪問沒有限制

Internal:(可以修飾類也可以修飾成員)內部的,類和方法的默認訪問修飾符是internal,只有在本程序集內的成員可以訪問,其他程序集或站點引用其所在的程序集無法訪問此類。例如程序集LibraryA寫有ClassA,程序集LibraryB引用LibraryA,在LibraryB的類或方法里無法通過LibraryA調用ClassA

Partial:(它只修飾類),部分的,可以將一個類分成幾部分寫在不同文件中,最終編譯時將合並成一個文件,且各個部分不能分散在不同程序集中

Abstract:(可以修飾類也可以修飾成員)抽象的,修飾類的時候表示該類為抽象類,不能夠創建該類的實例。修飾方法的時候表示該方法需要由子類來實現,如果子類沒有實現該方法那么子類同樣是抽象類;且含有抽象方法的類一定是抽象類

Sealed:(可以修飾類也可以修飾成員)密封的,修飾類時表示該類不能夠被繼承,修飾方法時表示該方法不能被重寫【sealed相當於java中的final修飾符】

Static:(可以修飾類也可以修飾成員)靜態的,修飾類時表示該類是靜態類,不能實例化該類的對象,既然不能實例化該類,那么這個類也就不能含有對象成員,即該類所有成員為靜態;類成員只能通過【類.成員名】的方式訪問。當static修飾構造函數時,構造函數不能含有任何參數,不能含有修飾符,構造函數不能對對象成員進行初始化操作。但是能夠對靜態成員進行初始化或者調用。不能保證他在什么時候執行,卻能保證在第一次使用類型前執行。在靜態構造函數中初始化的靜態成員為最終初始化結果

private:(只修飾成員)私有的,最低的訪問級別,被private訪問修飾符修飾的成員只有在當前類的內部可以訪問,其他地方一律不得訪問

protected:(只修飾成員)受保護的, 只有在當前類內部及所有的子類內部可以訪問。只有繼承父類后,才可以調用它的屬性 Virtual:修飾方法成員,表示虛方法。父類可以含有該類的實現,子類可以覆寫該函數。 Override:表示該方法為覆寫了父類的方法。 Readonly:修飾字段,表示該字段為只讀字段。readonly是運行時只讀,內容在運行時確定,所以修改了readonly類型成員后無需重新編譯即可生效,Readonly不能修飾局部變量 Const:修飾字段,表示該字段為只讀字段。

const修飾的字段在編譯時必須能夠明確知道該字段的值,其值是硬編碼到程序中去的,修改了該類型成員后需要重新編譯才能使修改生效,const可以修飾局部變量


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM