区别

2011-02-17 160 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

访问说明表明其他类变量可以在本级访问。 类的访问修饰符指示访问说明符的相同功能