有没有办法在VBScript中每个类都有一个变量?
如果没有,最好的方法是什么?在类旁边声明全局变量并加上前缀?
另外,是否有一种方法来声明静态/类方法(用于静态构造函数),或者我只能加上函数前缀?
有没有办法在VBScript中每个类都有一个变量?
如果没有,最好的方法是什么?在类旁边声明全局变量并加上前缀?
另外,是否有一种方法来声明静态/类方法(用于静态构造函数),或者我只能加上函数前缀?
在支持类级别/静态数据或方法的语言中,您可以将数据或方法显式地与类定义的对象集相关联/绑定。因此,您可以同时拥有Customer.Count和Product.Count,而在Customer代码中使用普通的Count(或@@Count)将访问正确的数字。
VBScript不支持静态数据或方法。您必须使用全局数据或函数/子程序,并在头脑中进行关联(也许借助一些命名约定)。访问这些“静态”=全局元素而没有对象是微不足道的,但是-显然-应该小心谨慎地处理。
您可以在对象中嵌入一个或多个单例对象或代码引用(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)