Getter und Setter Verständnisfrage

LeaveX

Aktives Mitglied
Hallo Community,

ich weiss was getter/setter sind aber ist für jedes Attribut ein getter/setter zu schreiben und diesen öffentlich zu machen?
Wenn ich den MVP-Orientierten Ansatz hernehme und die View-Klasse erstelle, mit jbuttons jtextfeldern usw... entstehen ja sehr viele Attribute. :bahnhof:

LG
Leave
 
Ja. Für jedes Attribut, DAS VERÄNDERT WERDEN SOLL, sollte ein setter existieren, so wie für jedes Attribut, WELCHES IN ANDEREN KLASSEN BENÖTIGT WIRD, ein getter existieren sollte.
 
Also dass ich dich richtig verstehe. Ich hab ein Formular mit 10 JLabel und 10 JTextField´s. also 20 Attribute. Jetzt hab ich sinnvollerweise dann 10 getter/setter für die JTextFelder. Ist es nicht einfacher man nimmt in dem beispiel jetzt ein JFrame Attribut und holt vom contentPane dann die textfelder???
 
Zuletzt bearbeitet:
Es gibt ein paar Ausnahmen, aber Sebastian hat da schon recht.

Wenn du die Variablen woanders nicht zugreifbar machen möchtest, dann brauchst du dafür auch keine getter und setter anbieten.

Variablen, die nicht veränderbar sein sollen, werden mit "private final Typ Name" deklariert und dann im Konstruktor gesetzt.

Variablen, die weder gesetzt, noch gelesen werden sollen, werden auch mit final markiert, und haben weder setter noch getter (macht bei internen Variablen Sinn...)
 
Natürlich kannst du auch das JContentPane zurückgeben. Das wäre aber schlechter Stil.

Zusammenfassend kann man sagen:
Getter für JEDES Attribut, dass außen benötigt wird.
Setter für JEDES Attribut, dass von außen verändert werden soll.
Attribute zusammenfassen ist nicht nötig und wäre auch schlechter Stil. (siehe Beispiel mit dem JContentPane)
Unnötige Getter und Setter sind schlechter Stil und sollten entfernt werden.
Es muss nicht zu jedem Getter einen Setter geben und andersrum. Je nach Bedarf.
 

Zurück
Oben