面試的時候,如果有筆試就會有一個筆試題就是:private,protected,public,internal的區別?
那么我每次都是簡單的寫下。今天具體的來總結下。
public :公共的。很好理解,就是所有人都可以拿來用。那么的話它的重點就是,public修飾符是類型和類型成員的訪問修飾符。
private:私有的。也就是我的東西只能我自己用,那么它的重點呢?就是一個成員訪問修飾符,一個類的內部可以用。
protected:保護的。就是說我要保護你,那么你一定也要是一個成員訪問修飾符,它的訪問可以是類的內部和派生類。
什么叫派生類?
有一個類A和一個類B,他們的關系是B繼承A,我們可以說A派生了B類,代碼如下:
using System; class A {protected int x = 123; }class B : A {static void Main(){A a = new A();B b = new B();// Error CS1540, because x can only be accessed by// classes derived from A.// a.x = 10; // OK, because this class derives from A.b.x = 10; } }
那么在B的內部,因為B是派生的,所以B的對象,可以調用x,而a是在B中實例化,但是x不可以直接訪問,因為這個a不是在A中,也沒有派生,那么的話,就不能訪問x了。
internal:內部的。這個內部是相對于程序集說的。重點是類型和類型成員的訪問修飾符。
?