Kurzform von Eigenschaften
Eigenschaften ("Propertys") sind Attribute eines Objekt's.
Auf diese wird gewöhnlich mit "set" oder "get" zugegriffen. Dies lässt sich in den meisten Fällen kürzer schreiben.
Was ist eine Eigenschaft?
Eine Eigenschaft ("Property") wird immer dadurch definiert, dass sie mindestens eine Set- oder Get-Funktion besitzt.
Als Beispiel soll der Typ "Date" dienen, mit dem ein Objekt für ein spezielles Datum erzeugt werden kann.
"Date" bietet die Funktion "setDay", mit der die Eigenschaft "Day" gesetzt (und ein neues Objekt erzeugt) wird. Die Funktion "getDay" gibt die Eigenschaft "Day" zurückgeben.
Die Eigenschaft ist in diesem Beispiel also, klein geschrieben: "day"
Auslesen / Get
Das Auslesen einer Eigenschaft ...
Date.getDay.print
... kann nun auch ohne "get", direkt über den Namen der Eigenschaft, erfolgen:
Date.day.print
Setzen / Set
Zum Setzen einer Eigenschaft ...
Print Date.setDay( 5 )
... existiert nun noch die Möglichkeiten, die Eigenschaft mit einem "=" zu setzen.
Print Date.day = 5
In beiden Fällen wird die "5" für den Tag gesetzt.
Achtung:
Da "Date" unveränderlich ist, wird jeweils ein neues Objekt erzeugt!
Auto-Property
Dies lässt sich auch für eigene Funktionen verwenden.
Wird eine Get- oder Set-Funktion definiert, erkennt JayMo dass es sich um eine Eigenschaft handelt.
Definition:
::Foo
v = 1
::setValue( val )
v = val
::getValue = v
Aufruf:
f = Foo
f.value = 9
f.value.print