在模块的开头,我希望声明一些全局变量用于各种子/函数。
之间有什么区别
Dim x as string
和Private x as string
/ Public x as string
,我何时会使用其中一个?
答案 0 :(得分:11)
私有和公共控制您声明的变量或对象的范围。
Private
只允许相关模块/ class /的成员访问实例
public
将允许与模块/类/任何内容相同的任何内容访问它。
Dim
默认为公共或私有,具体取决于您正在使用的内容。例如,一个类默认为私有。我建议阅读封装和OOP以获得更好的感觉。
答案 1 :(得分:1)
它们是不同的,但相关的东西。
Dim Statement (Visual Basic) [MSDN]告诉我们:
[Dim]声明并为一个或多个变量分配存储空间。
和
Dim关键字是可选的,如果您指定以下任何修饰符,通常会省略:Public,Protected,Friend,Protected Friend,Private,Shared,Shadows,Static,ReadOnly或WithEvents。
Access Levels in Visual Basic [MSDN]告诉我们:
私人(以及公共,受保护,朋友,受保护的朋友)是访问修饰符,用于指定“哪些代码具有读取或写入的权限。”
和
在模块级别,没有任何访问级别关键字的Dim语句等同于私有声明。但是,您可能希望使用Private关键字使代码更易于阅读和解释。
所以Private x As String
相当于Dim Private x As String
(尽管如果你输入这个Visual Studio会删除Dim)
和Dim x As String
相当于Private x As String
,除了在结构中(它等同于Public x As String
)和不允许声明变量的接口 - 请参阅Declaration Contexts and Default Access Levels (Visual Basic) [MSDN]