Property

Eintrag zuletzt aktualisiert am: 11.11.2024
 siehe auch Attribut

Ein Property dient in objektorientierten Programmiersprachen (wie z.B. C#, Visual Basic .NET) 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.

Beispiele für Getter und Setter

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).

Übersetzung

Im Deutschen verwendet Microsoft "Eigenschaft" als Übersetzung für "Property", im Gegensatz zu den normalen ("direkten") Attributen, die Microsoft "field" bzw. "Feld" nennt.

Weiblich oder Neutrum?

Da Property als Eigenschaft verstanden wird, müsste man korrekterweise im Deutschen Property als weibliches grammtikalisches Geschlecht verwenden, also im Nominativ: die Property. Im Entwickleralltag sprechen aber die Entwickler meist "das Property" (neutrales Genus, Neutrum).

Indexer

Ein Indexer ist eine Property mit Parametern, z.B. Personenliste.Mitglieder[10].