C 設定訪問許可權

2021-08-25 13:07:29 字數 2262 閱讀 1013

在c#中有乙個規定:編譯器不允許派生類的可訪問性比其基類更高。也就是說,內部類可以繼承於乙個公共類,但公共類不能繼承於乙個內部類。

1、public 關鍵字是型別和型別成員的訪問修飾符。公共訪問是允許的最高訪問級別。對於訪問公共成員沒有限制。

有關 public 與其他訪問修飾符的比較,請參見可訪問性級別。

示例在下例中,宣告了兩個類:myclass1 和 myclass2。直接從 myclass2 訪問 myclass1 的公共成員 x 和 y。

// protected_public.cs

// public access

using system;

class myclass1

class myclass2

, y = ", mc.x, mc.y); }}

輸出x = 10, y = 15

如果將 public 訪問級別更改為 private 或 protected,將收到錯誤資訊:

'myclass1.y' is inaccessible due to its protection level.

2、protected 關鍵字是乙個成員訪問修飾符。從宣告受保護的成員的類中,以及從宣告受保護的成員的類派生的任何類中都可以訪問該成員。

僅當訪問通過派生類型別發生時,基類的受保護成員在派生類中才是可訪問的。例如,請看以下**段:

class a

class b : a

}語句 a.x =10 將生成錯誤,因為 a 不是從 b 派生的。

結構成員無法受保護,因為無法繼承結構。

對於不是從受保護的成員的類派生的類,引用其中受保護的成員是錯誤的。

有關受保護的成員的更多資訊,請參見 3.5.3 例項成員的受保護訪問。

有關 protected 與其他訪問修飾符的比較,請參見可訪問性級別。

示例在此示例中,類 myderivedc 從 myclass 派生;因此,可以從該派生類直接訪問基類的受保護成員。

// protected_keyword.cs

using system;

class myclass

class myderivedc: myclass

, y = ", mc.x, mc.y); }}

輸出x = 10, y = 15

如果將 x 和 y 的訪問級別更改為 private,編譯器將發出錯誤資訊:

'myclass.y' is inaccessible due to its protection level.

'myclass.x' is inaccessible due to its protection level.

3、private 關鍵字是乙個訪問修飾符。私有訪問是允許的最低訪問級別。私有成員只有在宣告它們的類和結構體中才是可訪問的。

同一體中的巢狀型別也可以訪問那些私有成員。

在定義私有成員的類或結構外引用它會導致編譯時錯誤。

有關 private 和其他訪問修飾符的比較,請參見可訪問性級別。

示例在此例中,employee 類包含乙個公共成員 name 和乙個私有成員 salary。可以直接訪問公共成員,對於私有成員則必須通過公共方法 accesssalary() 訪問。

// private_keyword.cs

using system;

class employee

}class mainclass

}在上面的示例中,如果試圖通過使用如下語句直接訪問私有成員:

double s = e.salary;

將收到錯誤資訊:

'employee.salary' is inaccessible due to its protection level.

另乙個例子:

using system;

class testfirst

public static void main(string args)

",first.s);

second.funsecond();

third.funthird();}}

class testsecond:testfirst //在c#這叫派生

",s);

//d=222.22; //錯誤,不能訪問類testfirst的私有成員

i=222; //正確,允許訪問類testfirst的保護成員}}

class testthird

",c.s);

//錯誤,不能訪問類testfirst的保護成員

//錯誤,不能訪問類testfirst的私有成員}}

C 設定訪問許可權

在c 中有乙個規定 編譯器不允許派生類的可訪問性比其基類更高。也就是說,內部類可以繼承於乙個公共類,但公共類不能繼承於乙個內部類。public 關鍵字是型別和型別成員的訪問修飾符。公共訪問是允許的最高訪問級別。對於訪問公共成員沒有限制。有關 public 與其他訪問修飾符的比較,請參見可訪問性級別。...

C 設定訪問許可權

在c 中有乙個規定 編譯器不允許派生類的可訪問性比其基類更高。也就是說,內部類可以繼承於乙個公共類,但公共類不能繼承於乙個內部類。public 關鍵字是型別和型別成員的訪問修飾符。公共訪問是允許的最高訪問級別。對於訪問公共成員沒有限制。有關 public 與其他訪問修飾符的比較,請參見可訪問性級別。...

Apache訪問許可權設定

本文的httpd版本號為httpd 2.4.4,事先關閉防火牆和selinux。要想實現linux下apache對web頁面的訪問控制許可權設定,主要需要修改的是 etc httpd httpd.conf這個檔案 切記 一旦修改 etc httpd httpd.conf必須重啟httpd服務,否則不...