VBA控件教程:静态类数据

2015-06-05 22:56 阅读 90 次 评论关闭

有时,希望由一个类模块所创建的一些对象共享某个数据项。这就是所谓的静态类数据

不能在 Visual Basic 类模块中实现真正的静态类数据。但是,通过使用 Property 过程在标准模块中设置及返回 Public 数据成员的值,可以仿真静态类数据。如以下的代码:

'只读属性返回应用程序的名字。
Property Get CommonString() As String
   '变量 gstrVisibleEverywhere 保存在
   '标准模块中,并声明为 PublicCommonString = gstrVisibleEverywhere
End Property

注意   在类模块中,对模块级的变量不能声明为 Static。Static 数据只能在过程中使用。

由 Property Let 过程(对于含有对象引用的属性,使用 Property Set)对标准模块数据成员赋予新的值,可以仿真非只读的静态类数据。然而,这种使用全局变量的方式违背了封装编程的原则,而且不推荐使用。

例如,变量 gstrVisibleEverywhere 可以在工程中任何地方赋值,甚至可以从别的类代码中赋值,只要该类具有 CommonString 属性。这样做能导致程序中非常微妙的错误。

详细信息   ActiveX 部件中的全局数据,与普通程序中的处理方式不同。 如果有 VBP 或 VBE,请参阅《部件工具指南》中的“创建 ActiveX 部件”,“部件设计的一般准则”中的“标准模块与类模块”。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:VBA控件教程:静态类数据 | 猎微网
分类:VBA 标签:, ,

评论已关闭!