Einkapselung, Getter und Setter

  • Themenstarter Themenstarter mike81
  • Beginndatum Beginndatum
M

mike81

Gast
Hallo zusammen

in dem unteren Beispiel ist ein privates Feld über Getter und Setter zugänglich. Wie sollte man innerhalb der Klasse dieses Feld lesen bzw. schreiben? Welche Version ist stielvoller/geeigneter? Gibt es da bestimmte Regeln?

Java:
public class Test {
	
	private int var;
	
	public Test(){
		var = 0;
	}
	
	public void foobar(){
		//---> so ?
		if(var == 0){
			var = 2;
		}
		
		//---> oder so ?
		if(getVar() == 0){
			setVar(2);
		}
	}

	public int getVar() {
		return var;
	}

	public void setVar(int var) {
		this.var = var;
	}
	
}
 
innerhalb würde ich über die referenzvariable this.

also wenn du var beispielsweise verändern willst:

Java:
this.var = 5;

Ist nicht notwendig aber du machst klar, dass es sich um eine Variable innerhalb der Klasse handelt...Aber vermutlich habe ich dich falsch verstanden :/
 
Java:
        //---> so ?
        if(var == 0){
            var = 2;
        }
^^
fehlt eien votingmöglichkeit, kann man ne umfrage drauß machen.
 
Welche Version ist stielvoller/geeigneter?
Wenn die Variable an irgendwelche Bedingungen geknüpft ist(z.B. var nur im Wertebereich 1-1337 sein darf), würdest du die Abfrage höchstwahrscheinlich nur einmal machen wollen(dann im setter) anstelle an jedem Aufruf. Hat auch den Vorteil das du nur an einer Stelle Änderungen vornehmen müsstest 😛
 

Neue Themen


Zurück
Oben