Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ein schematischer Kirschbaum in Java

Ähnliche Präsentationen


Präsentation zum Thema: "Ein schematischer Kirschbaum in Java"—  Präsentation transkript:

1 Ein schematischer Kirschbaum in Java

2 Die Klasse Kirschbaum public class Kirschbaum { private char jahreszeit; private Rechteck stamm; private Kreissektor krone; private Kreissektor kirsche1; private Kreissektor kirsche2; private Rechteck linkerRand; private Rechteck rechterRand; private Rechteck boden; private Rechteck saft; private int xSaft; private int ySaft; private int safthoehe; Die Klasse benötigt für die korrekte zeitliche Abfolge ein Attribut jahreszeit. Außerdem braucht sie fünf Rechtecke und drei Kreissektoren als Referenzattribute, um Baum und Fass graphisch darstellen zu können. Die Menge des Kirschsafts beschreiben drei weitere Attribute.

3 Der Konstruktor public Kirschbaum (int kirschRadius) {
jahreszeit = 'S'; stamm = new Rechteck (); stamm.setzePosition (8*kirschRadius, 8*kirschRadius); stamm.setzeBreite (4*kirschRadius); stamm.setzeHoehe (20*kirschRadius); stamm.setzeFarbe ("braun"); krone = new Kreissektor (); krone.setzeGesamtwinkel (360); krone.setzeRadius (10*kirschRadius); kirsche1 = new Kreissektor (); kirsche1.setzeGesamtwinkel (360); kirsche1.setzePosition (4*kirschRadius, 6*kirschRadius); kirsche1.setzeRadius (kirschRadius); kirsche1.setzeFarbe ("rot"); kirsche2 = new Kreissektor (); kirsche2.setzeGesamtwinkel (360); kirsche2.setzePosition (14*kirschRadius, 12*kirschRadius); kirsche2.setzeRadius (kirschRadius); kirsche2.setzeFarbe ("rot");

4 linkerRand = new Rechteck ();
linkerRand.setzePosition (25*kirschRadius, 17*kirschRadius); linkerRand.setzeBreite (kirschRadius); linkerRand.setzeHoehe (11*kirschRadius); linkerRand.setzeFarbe ("braun"); rechterRand = new Rechteck (); rechterRand.setzePosition (30*kirschRadius, 17*kirschRadius); rechterRand.setzeBreite (kirschRadius); rechterRand.setzeHoehe (11*kirschRadius); rechterRand.setzeFarbe ("braun"); boden = new Rechteck (); boden.setzePosition (26*kirschRadius, 27*kirschRadius); boden.setzeBreite (4*kirschRadius); boden.setzeHoehe (kirschRadius); boden.setzeFarbe ("braun"); xSaft = 26*kirschRadius; ySaft = 18*kirschRadius; safthoehe = 9*kirschRadius; saft = new Rechteck (); saft.setzeBreite (4*kirschRadius); saft.setzeFarbe ("rot"); zeichne(); }

5 Der Konstruktor hat den Parameter kirschRadius, damit die Benutzerin genau festlegen kann, welche Größe der Kirschbaum haben soll. Am Anfang muss dem Kirschbaum genau gesagt werden, in welcher jahreszeit er sich befindet, damit er später in weitere Jahreszeiten umschalten kann. Innerhalb des Konstruktors müssen alle Referenzattribute erzeugt werden, damit man später damit den Baum und das Fass zeichnen kann. Zum Zeichnen verwenden wir eine Methode zeichne (), die auch beim Jahreszeitenwechsel benötigt wird. Damit wir später in jeder Jahreszeit den Saft im Fass korrekt zeichnen können, merken wir uns seine x- und y-Koordinaten sowie seine Höhe im gefüllten Zustand.

6 Sie ist private, da die Benutzerin sie nicht aufrufen soll.
Die Zeichnemethode private void zeichne () { switch (zustand) case 'W': krone.werdeUnsichtbar (); kirsche1.werdeUnsichtbar (); kirsche2.werdeUnsichtbar (); saft.setzePosition (xSaft, ySaft + safthoehe*1/3); saft.setzeHoehe (safthoehe * 2/3); break; case 'F': krone.setzeFarbe ("weiss"); krone.werdeSichtbar (); saft.setzePosition (xSaft, ySaft + safthoehe*2/3); saft.setzeHoehe (safthoehe * 1/3); break; case 'S': […] case 'H': […] } Die Methode gibt für alle vier Jahreszeiten an, welche Farbe die Krone und welche Höhe der Saft hat. Sie ist private, da die Benutzerin sie nicht aufrufen soll.

7 Der Jahreszeitenwechsel
public void naechsteJahreszeit () { switch (jahreszeit) case 'W': jahreszeit = 'F'; break; case 'F': jahreszeit = 'S'; break; case 'S': jahreszeit = 'H'; break; case 'H': jahreszeit = 'W'; break; } zeichne (); Die Methode wechselt aus jeder der vier Jahreszeiten in die nachfolgende. Anschließend zeichnet sie den Baum und das Fass im neuen Zustand. Sie ist public, da die Benutzerin sie nutzen können soll. Die break-Anweisungen sind wichtig, weil der Kirschbaum sonst immer in den Zustand 'W' wechseln würde.


Herunterladen ppt "Ein schematischer Kirschbaum in Java"

Ähnliche Präsentationen


Google-Anzeigen