首页 > 用户投稿

private声明的变量有效范围 vba定义变量有DIM PRIVATE PUBLIC我想问一下他们的区别?

vba定义变量有dimprivatepublic我想问一下他们的区别?

dim和private关键字在定义模块级私有变量时是一样的。除此之外,在定义变量时,public和private关键字只能用于定义模块级变量,而static只能用于过程内部定义静态变量。所以,我们可以将变量的定义方式总结如下:

1)dim可以用于过程内部和外部,但不管用于过程内外,使用dim语句定义的变量均为私有,无法在模块外使用;

2)public和private只能在过程外使用,用来定义模块级变量,区别是public定义的模块级变量对外界可见,可以被本模块和其他模块使用。而private定义的模块级变量,只能用于本模块,不能被其他模块调用。

3)static只能在过程内部定义静态变量,由static定义的变量只能用于本过程,不能被本模块的其他sub或function调用,更不能被其他模块调用。

private声明的变量有效范围 vba定义变量有DIM PRIVATE PUBLIC我想问一下他们的区别?

所以,综合以上三点,我们在声明变量的时候,共同遵守以下规则即可——“在过程外使用public和private定义模块级变量,在过程内使用dim和static定义过程级变量。”这样既能迅速掌握每个关键字的使用方法,也不容易混淆。

"以上是个人对dim,private,public,static关键字使用的个人总结!!"

private修饰的成员变量?

private,public,pretect,internal,!四个访问修饰符号,分别作用域是,private:如果是用private修饰的类成员,那么只有在当前类中才可以使用,!如果修饰类,那么就是当前结果集可用,public:完全公开,!pretect:只有自己和自己的子类才可以用,.!internal:当前结果集可用,!其他还有就是关于变量,分为成员变量,局部变量,循环变量,!成员变量在当前类中都可以使用,局部变量只有在方法体中使用,循环变量只有在循环体中使用,

vbapublic与private有什么区别?

一、public和private一般用于定义全局变量,也可以在类中使用。

区别在于:[public]前者定义的是公共变量,如果在一个模块当中使用,那么整个应用程序都能使用它所定义的变量,如果在类中使用,那么它就是一个共有属性。

[private]而后者定义的是私有变量,如果在一个模块中使用,那么只有这个模块才能访问到它所定义的变量,如果在类中使用,那么它就是一个私有属性。


二、dim和static一般在过程(sub或者function)内部使用,它们所定义的变量都只能在过程内部被访问。

区别在于:[dim]前者定义的是动态变量,过程一旦结束,该变量所占有的内存就会被系统回收,而变量所储存的数据就会被破坏。

[static]后者定义的是静态变量,这意味着在过程结束后这个变量所占有的内存不会被回收,数据当然也不会被破坏了,这样当你下次再调用该过程的时候,数据就依然存在。

相比之下,public和static都有保留数据不被破坏的作用,但是,前者适合于那些所有过程都可能访问到的变量,而后者则把变量的作用范围缩在最小(只在该过程内能被访问)。

private声明的变量有效范围private变量private关键字定义类的

原文标题:private声明的变量有效范围 vba定义变量有DIM PRIVATE PUBLIC我想问一下他们的区别?,如若转载,请注明出处:https://www.saibowen.com/tougao/17461.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。