再談C#裏4個訪問權限修飾符

 

想必大家對這個四個修飾符都已經很瞭解了,但是我在這裏還是要說,是爲什麼呢?因爲每個人對它的理解不一樣,我寫出來對自己是個溫故而知新,

對大家是個分享,希望有什麼不對的或需要談論的地方大家指出來。

C#裏類及類成員的修飾符有以下五個如下:
public 公開 類及類成員的修飾符 對訪問成員沒有級別限制
private 私有 類成員的修飾符 只能在類的內部訪問
protected 受保護的 類成員的修飾符 只能在該類和該類的派生類中訪問,不管該派生類和基類是否在同一程序集中
internal 內部的 類及類成員的修飾符 訪問僅限於程序集中
protected internal 受保護的內部 什麼意思呢? 注意看圖 如果是繼承關係,無論是不是在同一個程序集裏都可以訪問,如果不是繼承關係,只能在同一個程序集中訪問

類的訪問權限:
   可以放在class類前面的修飾符只有public 和internal,如果沒寫任何修飾符,默認是internal
我們先說類的訪問權限:1:public class:任何地方該類都可以被訪問到;2: internal class:只有在同一程序集內(你可以這樣理解:如果你建立了一個解決方案,裏面有三個項目,那麼就有三個程序集,如果你把第一個項目裏的一個類設置爲internal class,那麼第二個項目想調用這個類是不可能的,因爲不在同一個程序集中),該類纔可以被訪問到;

類成員的訪問權限:
   類成員的訪問權限可以由四個修飾符組成五種組合分別是:public,private ,protected,internal,protected internal;類成員前如果沒寫任何修飾符,默認爲private。


它們的訪問權限我在網上找了一張圖,我把這張圖貼出來,這張圖很好的表明了類成員的訪問權限。

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/menglin2010/archive/2010/12/04/6054483.aspx

 

private、protected、 public和internal的區別 

private、protected、 public和internal的區別  2010-03-24 19:45:02|  分類: 默認分類 |  標籤: |字號大中小 訂閱 .

private是完全私有的,只有在類自己裏面可以調用,在類的外部和子類都不能調用,子類也不能繼承父類的 private的屬性和方法。

 

protected雖然可以被外界看到,但外界卻不能調用,只有自己及自己的子類可以調用(protected的屬性和方法都可以被子類所繼承和調用)。

 

private和protected的共同點:外部都不可以訪問。

private和protected的不同點:在同一類中可視爲一樣,但在繼承中就不同了,private在派生類中不可以被訪問,而protected可以。

 

public對任何類和成員都完全公開,無限制訪問。

internal同一應用程序集內部(在VS.NET中的一個項目中,這裏的項目是指單獨的項目,而不是整個解決方案)可以訪問。

public和internal的區別:public的成員可以跨程序集,但internal不能,同一程序集中具有相同的效果

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章