Tutorial
Type als Objekt - Das UDT-Tutorial Teil 1
von MOD | Seite 2 von 8 |
Property
Wir beginnen mit einem Blick auf Property. Wenn ein Property zu einem Type hinzugefügt wird, kann auf ihn wie auf eine gewöhnliche Variable zugegriffen werden, doch Property ist nicht nur eine Variable, sondern eher mit einer Funktion zu vergleichen. Sehen wir uns ein Beispiel an:
Type bar
Declare Property x() As Integer
Declare Property x(ByVal n As Integer)
p_x As Integer
End Type
Property bar.x() As Integer
Print "bar.x()"
Property = p_x
End Property
Property bar.x(ByVal n As Integer)
Print "bar.x(ByVal n As Integer)"
p_x = n
End Property
'---
Dim foo As bar
foo.x = 5
Print foo.x
Für ein Property braucht man zwei Deklarationen, die erste deklariert einen Holer, der einen Variablenwert zurückgibt und die zweite einen Setzer, der der Variable einen neuen Wert zuweist. Die eigentliche Variable ist hierbei p_x.
Als nächstes betrachten wir den Code für die Properties und wieder erkennt man, dass die Syntax sehr verwandt mit normalen Funktionen ist. Beachte die Art, wie der Wert zurückgegeben wird: Anstatt von 'Function = Wert', schreiben wir 'Property = Wert'. Natürlich geht 'Return Wert' genauso. Beachte auch, dass der Zugriff auf das Element auch direkt mit p_x funktioniert, das Schlüsselwort This lässt sich ebenfalls verwenden, z.B.: 'this.p_x = n'. Die Benutzung von This ist normalerweise nicht nötig, kann aber bei mehrdeutigen Variablennamen hilfreich sein.
Am Ende des Beispiels befindet sich etwas Test-Code, der zeigt, wie wir die Properties verwenden. Wird das Programm ausgeführt, wird durch den PRINT-Befehl angezeigt, welches Property aktiviert wird.
Nun ist dieser Code reichlich trivial, aber wer den Grundgedanken erstmal verstanden hat, wird sehen, dass es gute Zwecke erfüllen kann. Vorstellbar wäre z.B. das Schreiben eines GUI und der Type entspricht einem Button auf dem Schirm. Möglich wäre dann 'button.text = "Hallo Welt!"' und mit dem Property-Code wird dann der Bildschirm aktualisiert. Oder vielleicht wird der Type verwendet, um irgendeine Liste zu verwalten, da wäre dann ein 'list.size += 10' innerhalb eines Properties denkbar, womit die Listengröße angepasst würde.
Auch für dieses Thema wurde bereits ein eigenes Tutorial verfasst: Property
Zusätzliche Informationen und Funktionen |
- Das Tutorial wurde am 06.09.2010 von MOD angelegt.
- Die aktuellste Version wurde am 05.09.2011 von Sebastian gespeichert.
|
|