Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Tutorial

Property

von RedakteurMODSeite 1 von 2

Was sind Properties?
Ein BefehlsreferenzeintragProperty 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 BefehlsreferenzeintragFunction. Das bringt einen großen Vorteil, da sie so komplexe Aufgaben ausführen können.
Ein Property muss aber immer Teil eines BefehlsreferenzeintragUDTs 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 BefehlsreferenzeintragPrint
- 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 BefehlsreferenzeintragUDTs immer automatisch überladen sind.

 

Gehe zu Seite Gehe zu Seite  1  2  
Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 03.06.2010 von RedakteurMOD angelegt.
  • Die aktuellste Version wurde am 28.08.2011 von RedakteurMOD gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen