Klassen in VBScript: Warum machen diese beiden Beispiele dasselbe?

Ich habe diesen Code in dieser StackOverFlow-Frage gefunden.Wörterbuch der Objekte / Klassen in VBScript.

Meine Frage ist, warum macht diese "kurze" Klasse das Gleiche wie diese "lange" Klasse? Warum sollte man sich überhaupt die Mühe machen, die lange Klasse zu programmieren? Könnte die Kurzklassenversion mit zusätzlichen Methoden innerhalb derselben Klasse verwendet werden? Vielen Dank!

Kurze Klasse

Class employeeclass
    Public first, last, salary
End Class

Lange Klasse

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

Vollständiges Skript mit der kurzen Klasse. Ersetzen Sie jedoch einfach die kurze Klasse durch die lange Klasse, um das gleiche Ergebnis zu erhalten.

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

Antworten auf die Frage(3)

Ihre Antwort auf die Frage