// Weihnachtsbaum.java, eine etwas aufwändigere Implementation von // Teilaufgabe 5, die ein Bäumchen zeichnet, dessen Höhe man beim Aufruf // der Hauptklasse u10 angeben kann. public class Weihnachtsbaum extends Baum { // Die in "Baum" vorhandenen Variablen und Methoden werden geerbt. public void zeichne_einrueckung(int wieviele) { for(int i=0; i < wieviele; i++) System.out.print(" "); } public void zeichne_zweige(int wieviele) { for(int i=0; i < wieviele; i++) System.out.print("*"); } // Teilaufgabe 2: zeichnen()-Methode public void zeichnen() { // Gesamthöhe Baum = hoehe() + 4 (Stammhöhe) for(int i=0; i< hoehe(); i++) { zeichne_einrueckung(hoehe() - i); zeichne_zweige(i*2 + 1); System.out.println(""); // Nächste Zeile } zeichne_einrueckung(hoehe()); System.out.println("#"); zeichne_einrueckung(hoehe()); System.out.println("#"); zeichne_einrueckung(hoehe()); System.out.println("#"); zeichne_einrueckung(hoehe()-1); System.out.println("###"); } // Ende Teilaufgabe 2 // Teilaufgabe 3: Konstruktor mit int-Übergabeparameter public Weihnachtsbaum(int h) { hoehe(h); // Methode hoehe(int) aus Basisklasse "Baum" aufrufen zeichnen(); // Methode zeichnen() aus "Weihnachtsbaum" aufrufen. } // Ende Teilaufgabe 3 }