分享

VB编程基础教程3–理解变量的范围 | 异次元软件世界

 a_cheng 2009-10-21

VB编程基础教程3–理解变量的范围

收藏到QQ书签 [ 程序乐园 ]

变量的范围确定了能够知晓该变量存在的那部分代码。在一个过程内部声明变量时,只有过程内部的代码才能访问或改变那个变量的值;它有一个范围,对该过程来说是局部的。但是,有时需要使用具有更大范围的变量,例如这样一个变量,其值对于同一模块内的所有过程都有效,甚至对于整个应用程序的所有过程都有效。visual basic 允许在声明变量时指定它的范围。
指定变量的有效范围
一个变量在划定范围时被看作是过程级(局部)变量,还是模块级变量,这取决于声明该变量时采用的方式。
范围 专用 公用
过程级 变量对于这种过程是专用的,在该过程中出现了这些变量。 不可使用。不能在一个过程中声明公用变量。
模块级 变量对于这种过程是专用的,在该过程中出现了这些变量。 变量可用于所有模块。

过程内部使用的变量
过程级变量只有在声明它们的过程中才能被识别。也称它们为局部变量。用 dim 或者 static 关键字来声明它们。例如:
dim inttemp as integer
— 或者 —
static intpermanent as integer
在整个应用程序运行时,用 static 声明的局部变量中的值一直存在,而用 dim 声明的变量只在过程执行期间才存在。
对任何临时计算来说,局部变量是最佳选择。例如,可以建立十来个不同的过程,每个过程都包含称作 inttemp 的变量。只要每个 inttemp 都声明为局部变量,那么每个过程只识别它自己的 inttemp 版本。任何一个过程都能够改变它自己的局部的 inttemp 变量的值,而不会影响别的过程中的 inttemp 变量。
模块内部使用的变量
按照缺省规定,模块级变量对该模块的所有过程都可用,但对其它模块的代码不可用。可在模块顶部的声明段用 private 关键字声明模块级变量,从而建立模块级变量。例如:
private inttemp as integer
在模块级,private 和 dim 之间没有什么区别,但 private 更好些,因为很容易把它和 public 区别开来,使代码更容易理解。
所有模块使用的变量
为了使模块级的变量在其它模块中也有效,用 public 关键字声明变量。公用变量中的值可用于应用程序的所有过程。和所有模块级变量一样,也在模块顶部的声明段来声明公用变量。例如:
public inttemp as integer
注意 不能在过程中声明公用变量,只能在模块的声明段中声明公用变量。
详细信息 有关变量的其它信息,请参阅 “高级变量主题”。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多