Setter & Getter
Wie wir in einem der letzten Tutorials gelernt haben, können wir von einer Klasse A auf die Methoden einer Klasse B zugreifen, wenn diese public sind. Jetzt werden wir das dazu nutzen um Variablen der Klasse B von der Klasse A aus zu holen, zu überschreiben und dadurch zu setzen. Und um das zu tun, brauchen wir Setter und Getter.
Grundlegender Aufbau einer Setter Methode
private variablenTyp VariablenName1;
public void setVariablenName1(variablenTyp variablenName2){
variablenName1=variablenName2;
}
Dadurch, dass wir nun private vor den VariablenTypen einfügen, ist diese Variable nur in der selben Klasse sichtbar in der sie angelegt wurde. Außerdem sagen wir, dass die Setter Methode public sein soll, und void als Rückgabewert, also keinen, hat. Die Methode nennen wir set + den Variablennamen.
Innerhalb der runden Klammern erzeugen wir eine Variable vom gleichen Variablentypen wie die zu setzende Variable.
In den geschweiften Klammern sagen wir nun, dass die Variable die wir privat angelegt haben gleich der Variable in unseren runden Klammern sein soll.
Ein konkretes Beispiel:
public class KlasseA {
private String bossName;
public void setBossName(String name){
bossName=name;
}
}
Wie ihr sehen könnt, haben wir die Variable bossName außerhalb einer Methode, sie somit global, angelegt.
Jetzt können wir die Variable zwar von der KlasseB aus setzen, jedoch sie noch nicht in ihr anzeigen lassen. Um das zu können, müssen wir in unserer KlasseA noch einen Getter hinzufügen.
public variablenTyp getVariablenName1(){
return variablenName1;
}
In der Getter – Methode ist es wichtig, dass der Variablentyp dem Typen des Wertes entspricht, den wir haben wollen. Im Rumpf des Codes also innhalb der {} haben wir lediglich return(gebe zurück) und den Namen der Variable die die Methode zurückliefern soll.
Beispiel für eine Getter Methode
public String getBossName(){
return bossName;
}
Damit wir jetzt noch sehen können, wenn etwas an unserer Variable verändert wurde, geben wir sie noch aus.
System.out.println("Dein Boss heißt: " + klasseAObjekt.getBossName());
Jetzt noch die Klasse B:
import java.util.Scanner;
public class KlasseB {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
KlasseA klasseAObjekt = new KlasseA();
System.out.println("Wie heißt dein Boss?");
String temp = input.nextLine();
klasseAObjekt.setBossName(temp);
System.out.println("Dein Boss heißt: " + klasseAObjekt.getBossName()
}
}
In KlasseB importieren wir den Scanner, erzeugen zwei Objekte input und klasseAObjekt. Geben eine Frage in der Konsole aus. Speichern den von uns eingegebenen Wert in der String Variable temp und setzen den Inhalt von Temp in unsere Variable bossName unserer Klasse A unseres Setters (setBossName). Danach Lassen wir diesen noch anzeigen.
Damit hätten wir gesehen wie Setter & Getter in Java funktionieren und wie wir sie verwenden können. Im nächsten Tutorial geht es um For Schleifen.