Tutorial
Property
von MOD | Seite 2 von 2 |
Man kann ein Property nicht nur wie eine normale Variable verwenden, sogar eine Arrayform ist möglich:
Type propertyTest
Declare Constructor
Declare Destructor
Declare Property array(index As Integer, a As Integer) 'Property mit Übergabeparameter für Zuweisungen
Declare Property array(index As Integer) As Integer 'Property mit Rückgabewert für Rückgaben an andere Anweisungen
Private:
'Array mit 5 Elementen (0 To 4)
x(5) As Integer
End Type
Constructor propertyTest
'Das erste Element von x bekommt bei jeder Deklaration einer Variable des Types propertyTest den Startwert 5
this.x(0) = 5
End Constructor
Destructor propertyTest
'in diesem Fall nicht benötigt
End Destructor
Property propertyTest.array(index As Integer, a As Integer)
If index >= LBound(this.x) And index <= UBound(this.x) Then
this.x(index) = a
EndIf
End Property
Property propertyTest.array(index As Integer) As Integer
If index >= LBound(this.x) And index <= UBound(this.x) Then
Return this.x(index)
EndIf
End Property
Dim As propertyTest myVar
Print "Programmstart:"
Print myVar.array(0)
myVar.array(4) = 7
Print
Print "-Vor der Schleife-"
For i As Integer = 0 To 4
Print myVar.array(i)
Next
Print "-Nach der Schleife-"
Sleep
Properties sind ein sehr nützliches Konstrukt und erlauben so manche Schwäche von FreeBASIC (von denen es natürlich kaum welche gibt) zu umgehen:
- wie man damit etwa dynamische Arrays in UDTs ermöglicht, wird in diesem Beispielcode veranschaulicht: Dynamische Arrays in UDTs
- wie man statische Variablen in UDTs ermöglicht, gibt es hier zu sehen: Statische Variablen in UDTs
Gehe zu Seite 1 2
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|