Encontré una forma de extender clases en VBScript, pero ¿hay alguna forma de pasar parámetros o sobrecargar el constructor? Actualmente estoy usando una función Init para inicializar las propiedades, pero me gustaría poder hacer esto cuando creo el objeto.
Esta es mi clase de muestra:Sobrecarga de constructores en VBScript
Class Test
Private strText
Public Property Get Text
Text = strText
End Property
Public Property Let Text(strIn)
strText = strIn
End Property
Private Sub Class_Initialize()
Init
End Sub
Private Sub Class_Terminate()
End Sub
Private Function Init
strText = "Start Text"
End Function
End Class
Y lo creo
Set objTest = New Test
Pero le gustaría hacer algo como esto
Set objTest = New Test(strInitText)
Es esto posible, o ¿Tiene el objeto para ser creado e inicializado en dos setps?
Es 2011 y busqué en Google para esto y disfruté aprendiéndolo. Me gusta refactorizar el viejo VBScript de la misma forma en que me gusta obtener un viejo 486 en ejecución. No tengo ninguna idea. – Chris
Tienes que ajustar '(Nueva prueba)' entre paréntesis? Simplemente no puede hacer, 'New Test (Array())'? = [ – crush
No puedo probarlo rápidamente pero, por lo que recuerdo, se requieren los paréntesis. No hay constructores de clase, por lo que 'New ClassName (arguments)' no es una sintaxis válida en VBScript. Los paréntesis dejan en claro para el analizador que está aplicando los argumentos al resultado de 'New ClassName'. La aplicación de argumentos a un objeto llama a la función marcada como predeterminada en la definición de la clase. – jammus