Objektmodelle mit VBA
Modellobjekte
Modellobjekte repräsentieren Eigenschaften von Entitäten (Sachen).
Beispielsweise repräsentiert das Objekt »konto« im folgenden Programm ein Konto. Es bildet ein Konto nach oder „modelliert“ ein Konto.
Ein Modell repräsentiert nicht alle Details einer Entität, sondern nur eine Auswahl der für eine Anwendung relevanten Details.
Beispielsweise hat das Objekt»konto« im folgenden Programm einen Saldo und ein Limit.
Modul1
Option Explicit
Sub Main()
Dim konto As New Scripting.Dictionary
Let konto( "saldo" )= 231.22
Let konto( "limit" )= -4000
Debug.Print konto( "saldo" )
Debug.Print konto( "limit" )
End Sub
Protokoll
231.22
-4000- Das Konto
konto
.-----------------------.
| : konto |
| --------------------- |
| + saldo : 231.22 |
| + limit : -4000.00 |
'-----------------------'
Objektmodelle
Objektmodelle können aus mehrere Modellobjekte bestehen, die sich gegenseitig referenzieren können.
Beispielsweise enthält das Objekt »person« im folgenden Programm eine Angabe »bankverbindung«, die ihrerseits ein Konto-Objekt mit weitere Details enthält.
Modul1
Option Explicit
Sub Main()
Dim konto As New Scripting.Dictionary
Let konto( "saldo" ) = 231.22
Let konto( "limit" ) = -4000
Dim person As New Scripting.Dictionary
Let person( "vorname" ) = "Hans"
Let person( "nachname" ) = "Mueller"
Set person( "bankverbindung" )= konto ' Bezug auf anderes Objekt
Debug.Print person( "vorname" )
Debug.Print person( "bankverbindung" )( "limit" )
Let konto( "limit" ) = 0
Debug.Print person( "bankverbindung" )( "limit" )
End Sub
Protokoll
Hans
-4000
0
Durch »Set« wurde die Variable »person( "bankverbindung" )« an dasselbe Konto gebunden wie die Variable »konto«. Es gibt im ganzen Programm nur ein Konto-Objekte. Mit »Let konto( "limit" ) = 0« wird »0« in die Variable »konto( "limit" )« geschrieben, welches dieselbe Variable wie »person( "bankverbindung" )( "limit" )« ist.
- Ein Objektmodell aus zwei verbundenen Objekten
person
.---------------------------.
| : person |
| ------------------------- |
| + vorname: Hans | konto
| + nachname: Mueller | .-----------------------.
| + bankverbindung: o-------------------------->| : konto |
'---------------------------' | --------------------- |
| + saldo: -4000 |
| + limit: 0 |
| |
'-----------------------'
Komplexe Informationen werden in Programmen oft durch Objektmodelle dargestellt.