對C#中public、private、protect的區(qū)別說明
訪問修飾符都知道是什么,但是在這之前沒有深入的去研究和探索,每天都接觸的東西應(yīng)該清楚才可以。
最基礎(chǔ)的三個訪問修飾符:
public 、private、protect.在搜索過程中又看到有一種和他們放在了一起,那就是internal.接下來就四個訪問修飾符做一個簡答的總結(jié)和介紹。
public
公有訪問,不受任何限制。
private
私有訪問,只限于本類成員訪問,子類、實例都不能訪問。
protected
保護訪問,只限于本類和子類訪問,實例不能訪問。
internal
內(nèi)部訪問,只限于本項目內(nèi)訪問,其他不能訪問。
public人緣好,跟誰都好,protect只和熟人好,private比較自閉.不過他們是三胞胎.class是他們的爹。
例:
比如說:一個人A為父類,他的兒子B,妻子C,私生子D(注:D不在他家里),如果我們給A的事情增加修飾符:
public事件,地球人都知道,全公開
protected事件,A,B,D知道(A和他的所有兒子知道,妻子C不知道)
private事件,只有A知道(隱私?心事?)
internal事件,A,B,C知道(A家里人都知道,私生子D不知道)
注意事項:
1, 命名空間上不允許使用訪問修飾符。命名空間沒有訪問限制。
2, 一個成員或類型只能有一個訪問修飾符,使用 protectedinternal 組合時除外
3, assembly中的class默認訪問修飾符為internal
4, 類中的字段默認為private
5, 類中的方法默認為private,包括構(gòu)造函數(shù)
補充:C#中internal和protect internal的理解
internal
internal關(guān)鍵字是用來修飾類和類的成員的,表示該內(nèi)容只能在本程序集中訪問。
程序集:一般輸出形式為dll或exe的文件。
例子:
如果某個程序集中,有如下的類:
namespace InternalTest { internal class InternalTest1 { ... } public class InternalTest2 { ... } }
那么在另外一個程序集中,可以訪問InternalTest2,但是不能訪問InternalTest2。
protect internal
protect internal 是指protect or internal是指:在同一程序集中,或派生類中可以訪問。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
C# FileSystemWatcher 在監(jiān)控文件夾和文件時的使用方法
這篇文章主要介紹了C# FileSystemWatcher 在監(jiān)控文件夾和文件時的使用方法,文中講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以參考下2020-06-06Unity?UGUI的GraphicRaycaster射線投射組件介紹使用
這篇文章主要為大家介紹了Unity?UGUI的GraphicRaycaster射線投射組件介紹使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07C#實現(xiàn)Word和ODT文檔相互轉(zhuǎn)換詳解
ODT文檔格式一種開放文檔格式(OpenDocument Text)。本文以C#及VB.NET代碼展示ODT和Word文檔之間相互轉(zhuǎn)換的方法,感興趣的可以學(xué)習(xí)一下2022-05-05WinForm實現(xiàn)最小化到系統(tǒng)托盤方法實例詳解
這篇文章主要介紹了WinForm實現(xiàn)最小化到系統(tǒng)托盤方法,實例分析了C#中實現(xiàn)WinForm最小化到系統(tǒng)托盤所需的相關(guān)控件與使用技巧,需要的朋友可以參考下2015-05-05