Property
Eintrag zuletzt aktualisiert am: 15.06.2009
Ein Property dient in (
.NET-)Programm dazu, ein
Attribut einer Klasse zu deklarieren, bei dem aber Programmcode sowohl beim Setzen des Wertes als auch beim Lesen des Wertes ausgeführt wird. Ein Property ist damit eine Mischung aus
Attribut und
Methode: Der Aufrufer sieht das Property als
Attribut, die Klasse intern sieht zwei
Methoden: Die
Getter-
Methode zum Lesen und die
Setter-
Methode zum Schreiben des
Attributes.
Was tatsächlich in
Getter und
Setter ausgeführt wird, ist dem Entwickler überlassen. Typische Beispiele sind:
- Im Getter wird ein Wert berechnet, statt ihn aus dem Speicher zu lesen. Der Setter fehlt, weil es keinen Sinn macht, einen berechneten Wert zu speichern (z.B. "Alter": Diese Property würde im Getter das Alter aus Geburtstag und aktuellem Datum errechnen. Einen Setter gäbe es nur für "Geburtstag", aber nicht für Alter.
- Im Setter wird geprüft, ob der Wert Sinn macht (z.B. Geburtstag darf nicht in Zukunft liegen)
- Man darf einen Wert setzen, aber nicht wieder auslesen (z.B. Kennwort).
Im deutschen verwendet Microsoft "Eigenschaft" als Übersetzung für "Property", im Gegensatz zu den normalen ("direkten")
Attributen, die Microsoft "field" bzw. "Feld" nennt.
Ein
Indexer ist eine Property mit Parametern, z.B. Personenliste.Mitglieder[10].