private声明的变量有效范围 vba定义变量有DIM PRIVATE PUBLIC我想问一下他们的区别?
vba定义变量有DIM PRIVATE PUBLIC我想问一下他们的区别?
Dim和Private关键字在定义模块级私有变量时是一样的。除此之外,在定义变量时,Public和Private关键字只能用于定义模块级变量,而Static只能用于过程内部定义静态变量。所以,我们可以将变量的定义方式总结如下:
1)Dim可以用于过程内部和外部,但不管用于过程内外,使用Dim语句定义的变量均为私有,无法在模块外使用;
2)Public和Private只能在过程外使用,用来定义模块级变量,区别是Public定义的模块级变量对外界可见,可以被本模块和其他模块使用。而Private定义的模块级变量,只能用于本模块,不能被其他模块调用。
3)Static只能在过程内部定义静态变量,由Static定义的变量只能用于本过程,不能被本模块的其他Sub或Function调用,更不能被其他模块调用。
所以,综合以上三点,我们在声明变量的时候,共同遵守以下规则即可——“在过程外使用Public和Private定义模块级变量,在过程内使用Dim和Static定义过程级变量。”这样既能迅速掌握每个关键字的使用方法,也不容易混淆。
"以上是个人对Dim,Private,Public,Static关键字使用的个人总结!!"
private修饰的成员变量?
private,public,pretect,internal,! 四个访问修饰符号,分别作用域是,private:如果是用private修饰的类成员,那么只有在当前类中才可以使用,!如果修饰类,那么就是当前结果集可用,public:完全公开,!pretect:只有自己和自己的子类才可以用,.!internal:当前结果集可用,! 其他还有就是关于变量,分为成员变量,局部变量,循环变量,! 成员变量在当前类中都可以使用,局部变量只有在方法体中使用,循环变量只有在循环体中使用,
vba public与private有什么区别?
一、Public和Private一般用于定义全局变量,也可以在类中使用。
区别在于:[Public]前者定义的是公共变量,如果在一个模块当中使用,那么整个应用程序都能使用它所定义的变量,如果在类中使用,那么它就是一个共有属性。
[Private]而后者定义的是私有变量,如果在一个模块中使用,那么只有这个模块才能访问到它所定义的变量,如果在类中使用,那么它就是一个私有属性。
二、Dim和Static一般在过程(Sub或者Function)内部使用,它们所定义的变量都只能在过程内部被访问。
区别在于:[Dim]前者定义的是动态变量,过程一旦结束,该变量所占有的内存就会被系统回收,而变量所储存的数据就会被破坏。
[Static]后者定义的是静态变量,这意味着在过程结束后这个变量所占有的内存不会被回收,数据当然也不会被破坏了,这样当你下次再调用该过程的时候,数据就依然存在。
相比之下,Public和Static都有保留数据不被破坏的作用,但是,前者适合于那些所有过程都可能访问到的变量,而后者则把变量的作用范围缩在最小(只在该过程内能被访问)。
private声明的变量有效范围 private变量 private关键字定义类的
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。