Tutorial
Property
von MOD | Seite 1 von 2 |
Was sind Properties?
Ein Property ist eigentlich eine Funktion, irgendwie auch eine Variable, aber dennoch keins von beiden. Es ist einfach gesagt eine Kombination.
Properties werden im Code behandelt wie Variablen, man kann sie ausgeben, ihnen Werte zuweisen und mit ihnen rechnen. Deklariert werden sie aber wie eine Function. Das bringt einen großen Vorteil, da sie so komplexe Aufgaben ausführen können.
Ein Property muss aber immer Teil eines UDTs sein und kann nicht alleine stehen.
Ein kleines Beispiel:
Type propertyTest
Declare Constructor
Declare Destructor
Declare Property w(new_w As Integer) 'Property mit Übergabeparameter für Zuweisungen
Declare Property w() As Integer 'Property mit Rückgabewert für Rückgaben an andere Anweisungen
Private:
x As Integer
End Type
Constructor propertyTest
'x bekommt bei jeder Deklaration einer Variable des Types propertyTest den Startwert 5
this.x = 5
End Constructor
Destructor propertyTest
'in diesem Fall nicht benötigt
End Destructor
Property propertyTest.w(new_w As Integer)
this.x = new_w
End Property
Property propertyTest.w() As Integer
Return x
End Property
Dim As propertyTest myVar
'Da x im Type propertyTest als Private markiert ist, kann nicht von außen darauf zugegriffen werden
'Ein reines "Print myVar.x" geht also nicht. Dafür haben wir nun die Properties
Print myVar.w 'Ruft das Property mit Rückgabewert auf
myVar.w = 7 'Ruft das Property mit Übergabeparameter auf
Print myVar.w 'Wert nach der Änderung nochmal ausgeben
Sleep
Wie man sieht, gibt es zwei Arten von Properties:
- Properties für Aufrufe wie Print
- Properties für Zuweisungen mit Let-Operator ('=')
Beide Arten haben denselben Namen, was ja normalerweise zu einem Compilerfehler führt ("Duplicated definition"). Das geht, weil Member eines UDTs immer automatisch überladen sind.
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|