區別

2011-02-17 31 views
5

我在互聯網上閱讀周圍,我聽到人們說區別

訪問說明::

訪問限定符決定了場如何 訪問是代碼 其他類。訪問範圍從 完全可訪問完全 無法訪問。您可以選擇 聲明一個字段,其中存在 說明符關鍵字:public,private, 或受保護。

訪問修飾符::

您可以根據需要聲明一個場 與修飾符關鍵字:最終或 揮發性和/或靜態的和/或 短暫的,抽象的,等

有有什麼區別?因爲訪問修飾符和訪問說明符的大多數定義都是相同的東西......這似乎很模糊。

+0

公共類和公共靜態類,這是否罷工 – V4Vendetta 2011-02-17 07:41:12

+0

我認爲在C#中沒有「瞬態」關鍵字。它用於J#來標記不可序列化的字段。 – kubal5003 2011-02-17 07:49:48

回答

6

在這種情況下,你能想到的訪問說明保護符 - 他們指定的變量可以被訪問。相比之下,訪問修飾符是完全不同的;他們指定如何變量應該(或不應該)被訪問;例如只讀,易失性等。

即,變量可以是公共的但只讀的,或者它可以是私有的和可寫的 - 訪問說明符與修飾符無關。

不過,我有點驚訝的是,術語是C#,因爲微軟實際上調用publicprivateaccess modifiers」,並呼籲volatilereadonly只是簡單的「modifiers」。

+0

這在我看來也是如此(我的問題中我幾乎表達了同樣的觀點)。如果你能引用你的消息來源,這將會更有幫助。 – 2011-02-17 10:05:39

2

據我所知,術語之間沒有任何區別。例如MS C++文檔使用這兩個術語來實現相同的功能。

+0

是的,正好!即使msdn使用術語互換。 – 2011-02-17 07:47:41

1

我相信訪問說明符決定了某個字段/方法的可見性。

訪問修飾符告訴您更多關於該字段的行爲和用法。你可以說這個字段是否需要一個實例化對象,或者它是否可以被重寫。

2

請參閱MSDN C#4.0文檔,我想你誤解了一些東西。 C#沒有像「訪問說明符」這樣的詞,但它調用修飾符訪問修飾符修飾符用於控制訪問級別。

希望得到這個幫助。

更新

我認爲,這個問題就像你問我,包和命名空間之間有什麼區別的。這取決於你使用或相信的語言或教授。像這個問題一樣,沒有什麼是錯的。

從經驗(以及單詞的含義)來說,訪問修飾符應該意味着像公共或私人一樣控制訪問。另一方面,訪問修飾符應該是訪問修飾符的超類,這意味着它包括其他關鍵字,如靜態,最終,只讀或類似的東西。

PS。無論是C#,VB.NET還是Java,他們都使用訪問修飾符來處理關鍵字,如public或private。另一方面,C++使用相同關鍵字的訪問說明符。

Modifiers (C# 4.0)

Access Levels in Visual Basic (VB.NET 2010)

Controlling Access to Members of a Class (Java)一類

Access Specifiers (C++ 2010)

0

訪問說明表明其他類變量可以在本級訪問。 類的訪問修飾符指示訪問說明符的相同功能