2010-08-18 83 views

回答

6

訪問修飾符定義可以訪問該方法或類,並(即:private:只有類成員,public:其他人等)。將方法或類標記爲sealed意味着它不能被繼承。它本身沒有說明訪問本身。

正確地說:如果您使用sealed關鍵字(除非默認訪問修飾符適合您),您仍然需要添加訪問修飾符。

您的困惑可能是因爲兩個關鍵詞似乎都是關於保護級別的。這是真的,但我們沒有保護修飾符的概念。 sealed關鍵字被稱爲密封修飾符,因爲它修改了要封閉的類或方法。這就像一個布爾開關:一個類或方法是封閉的或不是,不管它的訪問修飾符如何。

爲了增加混淆,存在密封訪問器,這意味着不允許派生訪問者(gettor/settor)(C#標準10.7.5)。

9

它不是一個訪問修飾符,這與是否一類可以從或不能被繼承...

+4

like'abstract' – abatishchev 2010-08-18 10:39:58

+1

一個類,或一個方法,或一個屬性 – Abel 2010-08-18 10:53:41

5

因爲如果你不能從一個類派生這並不意味着你不能訪問它。

1

以下所有有效類定義功能sealed類,但它們都具有不同級別的訪問權限,所以你可以看到,sealed不是一個訪問修飾符,因此不列爲一個由微軟:

public sealed class MyPublicClass 
{ 
} 

internal sealed class MyInternalClass 
{ 
} 

private sealed class MyPrivateClass 
{ 
} 

你必須相信,微軟確實知道他們創建的語言的一些東西:)

+0

Anders Hejlsberg架構語言c#,他來自Borland ;-) – Abel 2010-08-18 10:52:59