Java Reference
In-Depth Information
public void operation()
{
String formatString;
// Berechnen der neuen Ausgabe-Ebene
ebene++;
// Berechnen des Formatstrings fuer die Ausgabe von
// Leerzeichen entsprechend der erreichten Ebene
formatString = "%" + (ebene * 2) + "s";
// Ausgabe der Leerzeichen
System.out.printf (formatString, "");
// Ausgabe eines Pluszeichens gefolgt vom Namen der Komponente
System.out.println ("+ " + super.gibName() + "");
// Aufruf der Operation fuer alle Kindelemente
for (Iterator<Knoten> iter = kindelemente.iterator();
iter.hasNext();)
{
Knoten f = (Knoten) (iter.next());
f.operation();
}
// Ausgabe-Ebene wieder zuruecksetzen
--ebene;
}
}
Die Klasse Blatt repräsentiert einfache und nicht zusammengesetzte Knoten einer
Baumstruktur und hat im Gegensatz zur Klasse Kompositum keine untergeordneten
Knoten:
// Datei: Blatt.java
public class Blatt extends Knoten
{
public Blatt (String name)
{
super (name);
}
public void operation()
{
String formatString;
// Berechnen des Formatstrings fuer die Ausgabe von
// Leerzeichen entsprechend der erreichten Ebene
formatString = "%" + (ebene * 2) + "s";
// Ausgabe der Leerzeichen
System.out.printf (formatString, "");
// Ausgabe eines Minuszeichens gefolgt vom Namen des Knotens
System.out.println (" - " + super.gibName());
}
}
Die Klasse TestKompositum legt vier Kompositum-Objekte an. Um die Möglichkeit
der Rekursion aufzuzeigen, wird komp121 dem Kompositum komp12 hinzugefügt.
Anschließend werden sechs Instanzen der Klasse Blatt erstellt. Diese werden dann
den Kompositum-Objekten hinzugefügt. Im nächsten Schritt wird der Inhalt der Baum-
struktur ausgegeben. Zum Schluss werden ein Blatt- sowie ein Kompositum-Objekt
Search WWH ::




Custom Search