有没有办法在 vbscript 中为每个类设置一个变量?
如果不是,模拟它的最佳方法是什么?为类旁边声明的全局变量添加前缀?
还有一种方法可以声明静态/类方法(对于静态构造函数)还是我强制为函数添加前缀?
有没有办法在 vbscript 中为每个类设置一个变量?
如果不是,模拟它的最佳方法是什么?为类旁边声明的全局变量添加前缀?
还有一种方法可以声明静态/类方法(对于静态构造函数)还是我强制为函数添加前缀?
在支持类级别/静态数据或方法的语言中,您可以
VBScript 不支持静态数据或方法。您必须使用全局数据或函数/子函数并在脑海中进行关联(也许在命名约定的帮助下)。在没有对象的情况下访问这些 'static'=global 元素是微不足道的,但是 - 显然 - 应该小心完成。
您可以在对象中嵌入一个或多个单例对象或代码引用 (GetRef()) 以将它们绑定到更接近类的位置,但这会增加实例的大小。
你可以做这样的事情来模拟一个静态类:
Class Defines_
Public Sub DoSomethingUseful
End Sub
End Class
Dim Defines : Set Defines = New Defines_
...
Defines.DoSomethingUseful
这可以用来给你一些类似于构造函数的东西(实际上,工厂方法):
Class Something
Private mValue
Public Property Get Value : Value = mValue : End Property
Public Property Let Value(x) : mValue = x : End Property
End Class
Class SomethingFactory_
Public Function Create(value)
Set Create = New Something
Create.Value = value
End Function
End Class
Dim SomethingFactory : Set SomethingFactory = New SomethingFactory_
...
Dim something : Set something = SomethingFactory.Create(5)