Property
Eintrag zuletzt aktualisiert am: 11.11.2024
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.
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).
Ein
Indexer ist eine Property mit Parametern, z.B. Personenliste.Mitglieder[10].