Warum die Verwendung von Getter und setter/Accessoren?

Was ist der Vorteil der Verwendung von Getter und setter - dass nur get-und set - anstatt einfach mit öffentlichen Felder für die Variablen?

Wenn Getter und setter sind, jemals mehr als nur die einfache get - /set, kann ich diese Figur ein, sehr schnell, aber ich bin mir nicht 100% klar wie:

public String foo;

ist schlimmer als:

private String foo;
public void setFoo(String foo) { this.foo = foo; }
public String getFoo() { return foo; }

In der Erwägung, dass der ehemalige nimmt viel weniger boilerplate code.

J: Duplizieren mit vielen anderen Fragen: stackoverflow.com/search?q=getters+setters
Natürlich sind beide gleich schlecht, wenn sich das Objekt nicht eine Eigenschaft, geändert werden. Ich würde lieber alles privat, und fügen Sie get, wenn Sie nützlich sind und setter, wenn nötig.
Google "- Accessoren sind böse"
"Accessoren sind böse", wenn Sie geschehen, zu schreiben funktionaler code oder unveränderliche Objekte. Wenn Sie geschehen, zu schreiben stateful mutable-Objekte sind, dann sind Sie ziemlich unerlässlich.
Sagen, nicht Fragen. pragprog.com/articles/tell-dont-ask

InformationsquelleAutor Dean J | 2009-10-14

Schreibe einen Kommentar