Clases en VBScript: ¿Por qué estos dos ejemplos hacen lo mismo?
Encontré este fragmento de código en esta pregunta de StackOverFlow,Diccionario de objetos / clases en VBScript.
Mi pregunta es ¿por qué esta clase "corta" hace lo mismo que esta clase "larga"? ¿Por qué molestarse en codificar la clase larga? ¿Podría usarse la versión de clase corta con métodos adicionales dentro de la misma clase? ¡Gracias!
Clase corta
Class employeeclass
Public first, last, salary
End Class
Clase larga
Class employeeclass
Private m_first
Private m_last
Private m_salary
Public Property Get first
first = m_first
End Property
Public Property Let first(value)
m_first = value
End Property
Public Property Get last
last = m_last
End Property
Public Property Let last(value)
m_last = value
End Property
Public Property Get salary
salary = m_salary
End Property
Public Property Let salary(value)
m_salary = value
End Property
End Class
Sin embargo, el script completo con la clase corta, solo reemplaza la clase corta con la clase larga y obtiene el mismo resultado.
Class employeeclass
Public first, last, salary
End Class
Dim employeedict: Set employeedict = CreateObject("Scripting.Dictionary")
Dim employee: Set employee = new employeeclass
With employee
.first = "John"
.last = "Doe"
.salary = 50000
End With
employeedict.Add "1", employee
Set employee = new employeeclass
With employee
.first = "Mary"
.last = "Jane"
.salary = 50000
End With
employeedict.Add "3", employee
Dim employeedetails: Set employeedetails = employeedict.Item("1")
WScript.Echo "Name: " & employeedetails.first & " " & employeedetails.last & " $" & employeedetails.salary
WScript.Echo employeedict.Item("3").first & " " & employeedict.Item("3").last & " makes $" & employeedict.Item("3").salary