Wir haben nun gelernt, wie man Teile unseres Codes in Klassen zusammenfassen kann. Unser Problem ist nur, dass wir bisher die Attribute der Klassen weder auslesen, noch verändern können. Dafür brauchen wir Methoden in der Klasse, die diese Aufgabe übernehmen.
Man nennt Methoden, die einen Attributwert verändern Setter (von engl. to set = setzen) und Methoden, die einen Attributwert wiedergeben Getter (von engl. to get = geben).
Merksatz 4.2
4.2.1 Setter Methoden
Setter Methoden haben die Aufgabe, einen neuen Wert zu setzen. Daher braucht die Methode einen Parameter, der den gleichen Datentyp hat, wie das Attribut, das verändert werden soll. Durch den Parameter kann man beim Verwenden der Klasse angeben, welchen Wert das Attribut bekommen soll.
Beispiel:
Die Klasse QUADRAT wird vom nebenstehenden Klassendiagramm beschrieben. Neben einer Position und Farbe wird auch die Kantenlänge gespeichert. Zum Ändern der Kante brauchen wir eine Setter Methode.

void KanteSetzen(int neueKante)
{
kante = neueKante;
}
In der Hauptklasse von Processing kann nun die Klasse QUADRAT verwendet werden.
QUADRAT q;
//Setup setzt den Startwert für das QUADRAT
void setup()
{
q = new QUADRAT();
q.KanteSetzen(100); //Setzt die Kante auf den neuen Wert 100
}
//In der draw Methode wird das Quadrat gezeichnet
void draw()
{
background(100,100,100);
q.Zeichnen();
}
Setter Methoden beginnen mit dem Schlüsselwort
Merksatz 4.2.1.1void. Der Name sollte wiedergeben, welches Attribut geändert wird. Innerhalb der Klammern braucht die Methode einen Parameter, der den neuen Wert übergeben kann.
4.2.2 Getter Methoden
Wenn wir nun die Werte eines Attributs abfragen wollen, brauchen wir eine Methode, die uns den Wert des Attributes angibt.
Getter Methoden sind Methoden, die den Wert eines Attributs ausgeben. Sie stellen eine Frage an das Objekt der Klasse dar, beispielsweise die Frage:
„Welchen Wert hat das Attribut Kante?“
Die Getter Methode hat statt dem Schlüsselwort
voidals Schlüsselwort den Datentyp der Rückgabe. Bei der Kante wäre dies eine Zahl also schreiben wirint.Die Antwort wird nach dem Schlüsselwort
Merksatz 4.2.2.1returngeschrieben.
Der Code für die Getter Methode der Kante lautet also wie folgt:
int KantenLaengeGeben()
{
return kante;
}
Eine Getter Methode braucht keinen Parameter, da die Antwort nicht von einer zusätzlichen Eingabe der Nutzers der Methode abhängt.
Wir nennen Methoden, die eine Antwort auf eine Frage geben allgemein Methoden mit Rückgabewert. Es gibt auch viele Anwendungen, von Methoden mit Rückgabewerten, die keine Getter Methoden sind.
Merksatz 4.2.2.2
Aufgabe 1:
Bei den Aufgaben verwenden wir die Entwicklungsumgebung Processing. Wenn du einen Befehl suchst, schaue auf https://processing.org/reference nach!
- Erstelle ein neues Processing Projekt.
- Schreibe eine Klasse QUADRAT, mit den Attributen, die in der Klassenkarte angegeben sind.
- Weise den Attributen sinnvolle Startwerte im Konstruktor zu.
- Ergänze die Klasse um eine
Zeichnen()Methode und teste, ob du ein grünes Rechteck auf schwarzem Grund zeichnen kannst.

Aufgabe 2:
- Ergänze deine Klasse um Getter Methoden für die Kantenlänge und die x- und y-Positionen.
- Erweitere deine Processing App, dass ein Quadrat der Kantenlänge
100an der Position50,50gezeichnet wird.
Aufgabe 3:
- Erweitere deine Processing App, dass man beim Klicken auf das QUADRAT die Farbe von grün auf rot ändern kann.
- Hinweis: Du brauchst eine Setter Methode für die Farbe .
- Hinweis 2: Die Methode
void MouseClicked()wird immer aufgerufen, wenn die Maus geklickt wird. - Hinweis 3: Die Attribute
mouseXundmouseYspeichern die Mausposition. Zeichne dir ein Struktogramm, wie du überprüfen kannst, ob der Mauscursor über dem QUADRAT war.
Aufgabe 4:
- Erweitere dein Spiel zu einem 3×3 Tic Tac Toe Spiel.
- Dafür sollte der Spieler nach jedem Klick wechseln und die Farbe des jeweiligen Spielers beim Klicken gesetzt werden.
- Am besten baust du ein Reset Quadrat ein, mit dem man alles löschen kann.