Java ist eine objektorientierte Programmierung (OOP) Sprache . Objektorientierte Code wird organisiert mit einem Konstrukt als " Klasse ", die als Blaupause für die Schaffung eines dient " Objekt ". Ein Objekt ist eine Auflistung von Eigenschaften ( Membervariablen ) und Verhaltensweisen (Methoden) . Typischerweise sind Elementvariablen privat und kann nur von dem Objekt, das sie zugegriffen wird. "Get" und "set "-Methoden , die auch als " Getter " und " Setter ", sind spezielle Methoden, mit privaten Member-Variablen interagieren. Funktion
Getter und Setter , oder " Accessor " Methoden bieten Zugriff auf die Eigenschaften eines Objekts . Ein get- Methode gibt den Wert einer Eigenschaft von einem Objekt gehalten . Ein get- Methode hat einen Rückgabetyp passend zum Typ des zugehörigen Member-Variable . Get-Methoden in der Regel nicht nehmen keine Parameter. Ein Satz Methode hat eine " Leere" Rückgabetyp und nimmt einen Parameter des entsprechenden Typs zu dem zugehörigen Membervariable zuordnen.
Konventionen
Accessor Methoden verwendet werden externe Objekte und werden daher als "öffentlich" ( äußerlich sichtbaren ) Methoden erklärt. Die angenommene Konvention ist es, get-und set -Methoden für die zugehörige Member-Variable (zB " getName " und " setName , " mit der Variablen "name" ) zugeordnet , mit "get" oder vorangestellt nennen "set ". Nicht alle Membervariablen können Accessor Methoden verbunden haben . Diese Methoden sind nur für Werte, die von außen zugegriffen werden muss geschrieben.
Zweck
Einschränken des Zugriffs auf eines Objekts Membervariablen ist Teil einer Praxis namens " Kapselung. " Kapselung compartmentalizes die Komponenten eines Objekts , versteckt die Umsetzung ( Innenleben ) des Objekts , die nicht sein müssen äußerlich sichtbaren und Schutz der internen Daten aus unkontrolliert Modifikation . Accessor Methoden können Berechnungen , Validierung oder andere Aktionen, die umgangen werden , indem Membervariablen direkt zugänglich wäre .
Vorteile
Schützen Membervariablen mit Zugriffsmethoden Programmierern erlaubt einfach die internen Codes ohne Änderung der Art, die Klasse von anderen verwendet wird. Dies vermeidet erfordern Änderungen am Code der gesamten Anwendung , wenn eine einzige Klasse geändert wird. Getter kann Berechnungen durchführen und Maßnahmen erforderlich , um einen Wert zu erzeugen , die Minimierung der Menge von externen Code benötigt, um den Wert zu verwenden. Setters kann Validierung durchzuführen , die Vermeidung von Fehlern durch Member-Variablen an ungültige Werte gesetzt verursacht .
Überlegungen
Hinzufügen Zugriffsmethoden zu einer Klasse konservativ getan werden sollte. Nur Member-Variablen , die den externen Zugriff erfordern sollte Zugriffsmethoden . Eigenschaften , die nur durch die internen Abläufe geändert werden sollte brauchen nicht Setter . Eigenschaften, die keine externe Relevanz haben sollte nicht Getter . Diese Praxis minimiert Belichtung eines Objekts Implementierung und schützt Eigenschaften von Modifikation, die Laufzeit- Fehlern führen könnte . Je weniger öffentliche Methoden es gibt, desto besser wartbar wird der Code sein .