www.wikidata.de-de.nina.az
Eine Zugriffsfunktion auch Zugriffsmethode Akzessor oder im Programmiererjargon getter und setter genannt ist in der objektorientierten Programmierung eine spezielle Methode die eine einzelne Eigenschaft Attribut eines Objekts abfragt oder andert Zugriffsfunktionen sind Teil der offentlichen Schnittstelle eines Objekts und verbergen Implementierungsdetails dieses Objekts Dadurch kann die Implementierung eines Objekts geandert werden ohne seine offentliche Schnittstelle zu andern Inhaltsverzeichnis 1 Abfragemethoden Getter 2 Anderungsmethoden Setter 3 JavaBeans 4 Kritik 5 EinzelnachweiseAbfragemethoden Getter BearbeitenEine Zugriffsmethode die eine Eigenschaft eines Objekts abfragt heisst auch Abfragemethode oder Getter von englisch to get etwas holen Die Eigenschaft kann entweder direkt aus einem Objektattribut entnommen das dann normalerweise eine geringere Sichtbarkeit hat oder im Moment des Aufrufs berechnet werden Fur den Aufrufer ist das nicht erkennbar dadurch wird die Kapselung sichergestellt In einigen Programmiersprachen ist es ublich die Namen aller Abfragemethoden mit get beginnen zu lassen So konnte z B eine Methode die den Namen einer Person abfragt getName heissen Alternativ konnen Methoden welche Boolesche Werte abfragen mit is z B isMarried oder has z B hasChild beginnen In anderen Programmiersprachen ist dies unublich und die Methode hiesse einfach name da bereits der Funktionsaufruf als solcher ein Holen in sich hat Anderungsmethoden Setter BearbeitenEine Zugriffsmethode die ein Objektattribut andert heisst auch Anderungsmethode oder Setter von englisch to set etwas einstellen setzen Ein Vorteil der Anderungsmethode besteht darin dass sie vor der Anderung den Wert auf Gultigkeit prufen kann So konnte beispielsweise in einem Objekt das eine Person darstellt die Funktion zum Setzen des Namens sicherstellen dass als Name kein leerer Text ubergeben wird Falls ein ungultiger Wert ubergeben wird besteht eine mogliche Reaktion im Auslosen einer Ausnahmeroutine wodurch der normale Programmablauf unterbrochen und ein Fehler signalisiert wird Ein weiterer Vorteil der Anderungsmethode besteht darin dass sie eventuelle Beobachter im Sinne des gleichnamigen Entwurfsmusters uber die Anderung des Objektzustands informieren kann Dies wird beispielsweise in Model View Controller Architekturen benutzt um eine Sicht View z B ein Bildschirmformular zu aktualisieren wenn der Inhalt des zugrundeliegenden Modells Model z B ein Datensatz in einer Datenbanktabelle geandert wurde In einigen Programmiersprachen ist es ublich die Namen aller Anderungsmethoden mit set beginnen zu lassen So konnte z B eine Methode die den Namen einer Person andert setName heissen In anderen Programmiersprachen ist dieses Prafix unublich und die Methode hiesse einfach name da bereits der parametrisierte Funktions Prozeduraufruf als solcher eine setzende Methode impliziert JavaBeans BearbeitenJavaBeans die Komponenten der Programmiersprache Java erkennen Zugriffsfunktionen zur Laufzeit per Reflection anhand ihrer Prafixe get und set Die eigens dafur bereitgestellte Klasse java beans Introspector leitet daraus dann automatisch den Namen der abgefragten oder geanderten Eigenschaft ab also beispielsweise saldo aus getSaldo oder geburtstag aus setGeburtstag 1 Kritik BearbeitenMartin Fowler weist in seiner Beschreibung des Antimusters Anamisches Objektmodell darauf hin dass Objektmodelle deren Objekte praktisch nur aus Zugriffsfunktionen bestehen und kein daruber hinausgehendes Verhalten anbieten keine Vorteile gegenuber klassischen Datenmodellen haben Solche Objektmodelle sind daher nicht unbedingt sinnvoll 2 Einzelnachweise Bearbeiten Graham Hamilton Hrsg Java Beans API specification Sun Microsystems Inc 8 August 1997 S 54 online Version 1 01 Martin Fowler AnemicDomainModel In MF Bliki 25 November 2003 abgerufen am 25 Marz 2009 englisch Abgerufen von https de wikipedia org w index php title Zugriffsfunktion amp oldid 219696836