對(duì)C#中public、private、protect的區(qū)別說明
訪問修飾符都知道是什么,但是在這之前沒有深入的去研究和探索,每天都接觸的東西應(yīng)該清楚才可以。
最基礎(chǔ)的三個(gè)訪問修飾符:
public 、private、protect.在搜索過程中又看到有一種和他們放在了一起,那就是internal.接下來就四個(gè)訪問修飾符做一個(gè)簡答的總結(jié)和介紹。
public公有訪問,不受任何限制。
private私有訪問,只限于本類成員訪問,子類、實(shí)例都不能訪問。
protected保護(hù)訪問,只限于本類和子類訪問,實(shí)例不能訪問。
internal內(nèi)部訪問,只限于本項(xiàng)目內(nèi)訪問,其他不能訪問。
public人緣好,跟誰都好,protect只和熟人好,private比較自閉.不過他們是三胞胎.class是他們的爹。
例:
比如說:一個(gè)人A為父類,他的兒子B,妻子C,私生子D(注:D不在他家里),如果我們給A的事情增加修飾符:
public事件,地球人都知道,全公開
protected事件,A,B,D知道(A和他的所有兒子知道,妻子C不知道)
private事件,只有A知道(隱私?心事?)
internal事件,A,B,C知道(A家里人都知道,私生子D不知道)
注意事項(xiàng):
1, 命名空間上不允許使用訪問修飾符。命名空間沒有訪問限制。
2, 一個(gè)成員或類型只能有一個(gè)訪問修飾符,使用 protectedinternal 組合時(shí)除外
3, assembly中的class默認(rèn)訪問修飾符為internal
4, 類中的字段默認(rèn)為private
5, 類中的方法默認(rèn)為private,包括構(gòu)造函數(shù)
補(bǔ)充:C#中internal和protect internal的理解
internal
internal關(guān)鍵字是用來修飾類和類的成員的,表示該內(nèi)容只能在本程序集中訪問。
程序集:一般輸出形式為dll或exe的文件。
例子:
如果某個(gè)程序集中,有如下的類:
namespace InternalTest
{
internal class InternalTest1
{
...
}
public class InternalTest2
{
...
}
}
那么在另外一個(gè)程序集中,可以訪問InternalTest2,但是不能訪問InternalTest2。
protect internal
protect internal 是指protect or internal是指:在同一程序集中,或派生類中可以訪問。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
C#?守護(hù)進(jìn)程的介紹及實(shí)現(xiàn)詳解
本文主要介紹了C#?守護(hù)進(jìn)程的介紹及實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
C#調(diào)用WebService實(shí)例與開發(fā)教程(推薦)
下面小編就為大家分享一篇C#調(diào)用WebService實(shí)例與開發(fā)教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨想過來看看吧2017-12-12
C# OpenCvSharp實(shí)現(xiàn)去除文字中的線條
這篇文章主要為大家詳細(xì)介紹了C#如何使用OpenCvSharp實(shí)現(xiàn)去除文字中的線條效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11
c#動(dòng)態(tài)調(diào)用Webservice的兩種方法實(shí)例
這篇文章介紹了c#動(dòng)態(tài)調(diào)用Webservice的兩種方法實(shí)例,有需要的朋友可以參考一下2013-08-08
C#實(shí)現(xiàn)獲取一年中是第幾個(gè)星期的方法
這篇文章主要介紹了C#實(shí)現(xiàn)獲取一年中是第幾個(gè)星期的方法,比較實(shí)用的功能,需要的朋友可以參考下2014-08-08
C#檢測移動(dòng)硬盤并獲取移動(dòng)硬盤盤符的方法
這篇文章主要介紹了利用C#檢測移動(dòng)硬盤并獲取移動(dòng)硬盤盤符2017-12-12
SQLServer批量插入數(shù)據(jù)的三種方式及性能對(duì)比
本文詳細(xì)講解了SQLServer批量插入數(shù)據(jù)的三種方式及性能對(duì)比,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
C#下實(shí)現(xiàn)創(chuàng)建和刪除目錄的實(shí)例代碼
這篇文章主要介紹了C#下實(shí)現(xiàn)創(chuàng)建和刪除目錄的方法,功能非常實(shí)用,需要的朋友可以參考下2014-08-08
c#中SqlHelper封裝SqlDataReader的方法
這篇文章主要介紹了c#中SqlHelper封裝SqlDataReader的方法,涉及C#針對(duì)數(shù)據(jù)庫相關(guān)操作封裝與使用的技巧,需要的朋友可以參考下2015-05-05

