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.
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.
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.
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
SleepWie man sieht, gibt es zwei Arten von Properties:
- Properties für Aufrufe wie  Print
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.
UDTs immer automatisch überladen sind.
| Zusätzliche Informationen und Funktionen | |||||||
|---|---|---|---|---|---|---|---|
| 
 
 | |||||||

 Wer ist online?
 Wer ist online? Buchempfehlung
 Buchempfehlung
 FreeBASIC-Chat
 FreeBASIC-Chat
 FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!
			FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us! Gehe zu Seite
 Gehe zu Seite   Bearbeiten
 Bearbeiten Versionen
 Versionen