11. Implementierung mit verketteten Listen Inhaltsverzeichnis 13. Polymorphie

12. Objektdiagramme der verketteten Liste

Im Benutzerprogramm wird hierfür ein (leeres) ListQ-Objekt erstellt:

Abbildung 20: Leere Warteschlange als verkettete Liste

Durch den Aufruf der add-Methode dieser Warteschlange mit einem E-Parameter (z.B. mit dem Inhalt 1) verändert sich dieses Objektdiagramm folgendermaßen:

Abbildung 21: Liste mit einem Element

Hierbei wurde das Node-Objekt in der add-Methode erzeugt. Seine wert-Variable referenziert jetzt das Objekt vom Typ E, welches der Methode als Parameter übergeben wurde.

Ein weiterer Aufruf der add-Methode mit einem weiteren E-Objekt (z.B. mit dem Inhalt 2) erzeugt ein weiteres Node-Objekt, dessen Adresse in die verbindung-Variable des ersten Node-Objekts, sowie in jüngster eingefügt wird. ältester referenziert das erste Node-Objekt:

Abbildung 22: Liste mit zwei Elementen

Beim dritten add-Aufruf wiederholt sich der Prozess:

Abbildung 23: Liste mit drei Elementen

Weiterer add-Aufrufe würden weitere Node-Objekte erzeugen, die über die verbindung-Variable der vorherigen Node-Objekte in die Liste eingekettet werden. Wenn dabei dasselbe E-Objekt nochmals als Parameter übergeben wird, dann referenzieren unterschiedliche wert-Variablen gleiche Objekte – es ändert nicht die Struktur der verketteten Liste.

Ein element-Aufruf liefert (wie oben programmiert) eine Referenz auf das E-Objekt, das von ältester referenziert wird – die Warteschlange wird dabei nicht verändert. Ein remove-Aufruf demgegenüber löscht das älteste Element, indem das von ältester referenzierte Node-Objekt ausgekettet wird: Wenn im Zustand auf der Abbildung 23 remove aufgerufen wird, entsteht wieder der Zustand auf der Abbildung 22 (ohne natürlich die in add lokale Variable neu). Ein weiterer remove-Aufruf überführt die Abbildung 22 zur Abbildung 21 (ohne neu).

11. Implementierung mit verketteten Listen Inhaltsverzeichnis 13. Polymorphie

Version: 5. Dezember 2010

© Prof. Solymosi, 2010, Beuth-Hochschule für Technik Berlin