Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 访问说明符和访问修饰符之间的差异_C#_Oop_Programming Languages_Accessibility - Fatal编程技术网

C# 访问说明符和访问修饰符之间的差异

C# 访问说明符和访问修饰符之间的差异,c#,oop,programming-languages,accessibility,C#,Oop,Programming Languages,Accessibility,我在网上读过很多书,我听到人们说 访问说明符:: 访问说明符决定如何访问 可访问该字段以进行编码 其他课程。访问范围从 完全可接近 无法接近你可以选择 声明具有访问权限的字段 说明符关键字:public、private、, 或受保护 访问修饰符:: 您可以选择声明一个字段 带有修饰词关键字:final或 易失性和/或静态和/或 暂时的、抽象的等 有什么区别吗?因为大多数访问修饰符和访问说明符的定义都说明了相同的事情。。这看起来很模糊。在本文中,您可以将访问说明符视为保护说明符——它们指定可以从何

我在网上读过很多书,我听到人们说

访问说明符::

访问说明符决定如何访问 可访问该字段以进行编码 其他课程。访问范围从 完全可接近 无法接近你可以选择 声明具有访问权限的字段 说明符关键字:public、private、, 或受保护

访问修饰符::

您可以选择声明一个字段 带有修饰词关键字:final或 易失性和/或静态和/或 暂时的、抽象的等


有什么区别吗?因为大多数访问修饰符和访问说明符的定义都说明了相同的事情。。这看起来很模糊。

在本文中,您可以将访问说明符视为保护说明符——它们指定可以从何处访问变量。相反,访问修饰符是完全不同的;它们指定了应该(或不应该)访问变量的方式;e、 g.只读、易失性等

i、 例如,变量可以是公共的但是只读的,也可以是私有的且可写的——访问说明符与修饰符无关


然而,我有点惊讶的是,这个术语是C#的,因为微软实际上把
称为public
private
,“它把
称为volatile
readonly
只是普通的”。

据我所见,这两个术语之间根本没有区别。例如,MS+C++文档使用同一个词的两个术语。

< P>我相信访问说明符决定某个字段/方法的可见性。 访问修饰符会告诉您有关该字段的行为和使用的更多信息。您可以说该字段是否需要实例化的对象,或者是否可以重写它。

请参阅MSDN C#4.0文档,我想您误解了一些内容。C#没有“访问说明符”之类的词,但它调用修饰符访问修饰符,用于控制访问级别的修饰符

希望这有帮助

更新

我想,这个问题就像你们问我的,包和名称空间之间的区别是什么。这取决于你使用或相信什么语言或教授。像这样的问题没有什么不对的

根据经验(以及词语的含义),访问修饰符的意思应该是控制公共或私人访问。另一方面,访问说明符应该是访问修饰符的超类,这意味着它包括其他关键字,如static、final、readonly或类似的内容

另外,C#、VB.NET和Java都使用访问修饰符作为关键字,如public或private。另一方面,C++使用相同关键字的访问说明符。


类的访问说明符指示当前类中可以访问的其他类变量。
类的访问修饰符表示访问说明符的相同功能,比如Public class和Public static class,这有什么影响吗?我认为C#中没有“transient”关键字。它在J#中用于标记不可序列化的字段。是的,没错!甚至msdn也可以互换使用这些术语。事实上,我也发现了这一点。我会投票表决的。但我指的是一般性的术语,而不是特定于C的术语(尽管有C标记,但很抱歉),请查看我的更新。这应该是一个足够好的答案来总结你无法回答的问题D在我看来也是如此。(我在我的问题中几乎陈述了同样的事情)。如果你能引用你的资料会更有帮助。术语访问修饰符、修饰符和访问说明符太混乱了。谢谢你的消息来源。这真的很有帮助。