Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Eigene Klassen schreiben
Beispiel 1: Würfel-Klasse
Es gibt nicht nur 6-seitige Würfel, sondern auch 8-seitige, 20-seitige usw.
Wir schreiben eine Klasse Würfel mit dem Attribut seitenzahl und einer Methode würfle, die einen Zufallswert zwischen 1 und der Seitenzahl zurückgibt. Damit Du Dir die Bestandteile einer Klasse langsam wieder in Erinnerung rufen kannst, beginnen wir ganz einfach und erweitern die Klasse dann schrittweise.
a) Klasse zum Speichern der Seitenzahl
Die Zeile
public int seitenzahl;
deklariert das Attribut seitenzahl. Der visibility modifier public bewirkt, dass der Wert von außerhalb der Klasse aus gelesen und verändert werden kann. int ist der Datentyp des Attributs, seitenzahl sein Bezeichner (engl.: identifier).
b) Methode zum Würfeln
public int würfle(){ return Random.randint(1, seitenzahl); }
Den Teil public int würfle() nennt man Deklaration der Methode. Hier wird dem Compiler mitgeteilt, dass die Methode den Bezeichner würfle hat, dass sie einen Wert vom Typ int zurückliefern soll und dass sie keine Parameterwerte entgegennimmt (daher steht nichts in den '()').
Dahinter folgt in geschweiften Klammern die Implementierung der Methode, d.h. das Programm, das ausgeführt wird, wenn die Methode aufgerufen wird. In diesem Fall besteht es aus einer einzigen Anweisung return, die festlegt, welcher Wert zurückgeliefert werden soll.
b) Datenkapselung
Attribute sollten i.d.R. nicht direkt von außen veränderbar sein, damit die interne Repräsentation der Daten der Klasse geändert werden kann ohne dass alle Programme angepasst werden müssen, die die Klasse nutzen. Wir ändern daher den visibility modifier von public auf private und fügen eine Konstruktormethode ("einen Konstruktor") hinzu, um den Wert des Attributs seitenzahl zu setzen.
