Zur Erzeugung eines neuen Bandes stehen eine Anzahl Methoden zur Verfügung. Wie man der Abbildung 1 entnehmen kann, tritt uns ein Band immer als Instanz der Klasse Band entgegen. Die Methoden müssen also einem Objekt vom Typ "Band" gesendet werden.
neuLeer: caller initialisiert ein Band mit Standardwerten. Insbesondere ist der Typ beider Bande auf "nil" gesetzt; bleibt das so, wird für das Band der Standardtyp des Erstgenannten genommen. Das Band des Erstgenannten ("caller") wird verkettet, d.h. an den Schluss seiner Bande gehängt.
neu: caller mit: mit: Zusätzlich wird das Band des Erstgenannten "caller" und des Zweitgenannten "mit" je verkettet, d.h. an den Schluss der Bänder gehängt.
neuLeerErst: caller wie neuLeer: caller, jedoch steht das Band an erster Stelle des Gliedes "caller".
loescheAnderen: caller entfernt das Band aus der Kette des anderen; kommt es dort im Bauplan vor, so wird es nicht entfernt, sondern nur auf "nil" gesetzt. "caller" ist das Glied, von dem der Wunsch aus kommt und welches das Band behält.
verhaenge: caller mit: mit alsBand: geplant hin: typHin zur: typZur verhängt das Band mit dem Zweitgenannten "mit", für ihn wird es verkettet. Am Schluss ist das Band gültig, d.h. sein Typ tritt in Kraft, der mit "typHin" und "typZur" definiert worden ist. Kurzformen dieser Methode sind:
verhaenge: caller mit: mit,
verhaenge: caller mit: mit alsBand: geplant und
verhaenge: caller mit: mit hin: typHin zur: typZur.
Weiter gibt es noch Methoden, welche die Option "On Add Notify Before" umgehen, also dem Glied, an welches das Band gehängt wird, keine Meldung zukommen lassen. Das sind:
verhaengeOhneMeldung: caller mit: mit,
verhaengeOhneMeldung: caller mit: mit alsBand: geplant.
Wie wir aus den Überlegungen, und auch in Abbildung 1 gesehen haben, besteht ein Band immer aus zwei Teilen, die gleichberechtigt sind: nämlich der Verknüpfung hin und der Verknüpfung zurück. Wollen wir ein Band also nach seiner Verknüpfung fragen, so dürfen wir nicht vergessen zu sagen, von welchem der miteinander verknüpften Glieder wir ausgehen: welches der Glieder das Bezugs-Glied ist. Das können wir natürlich mit einem Parameter beim Aufruf der Methode sicherstellen.
Eleganter ist es jedoch, eine Klassen-Variable einführen, welche das Bezugs-Glied enthält. Wir ersparen uns dadurch das wiederholte Übermitteln ein und desselben Parameters, wenn wir verschieden Anfragen auf dasselbe Band durchführen, allerdings müssen wir bei jedem Wechsel des Bezugs-Gliedes das neue Glied vereinbaren.
Es bietet sich an, einen Bezugs-Stack einzuführen: das im Moment gültige Bezugs-Glied steht in der Variablen Bezug. Wird ein neues Bezugs-Glied definiert, so rufen wir die Methode pushFor: objekt auf, welche das alte Bezugs-Glied auf den Stack "Bezuege" wirft und den Parameter "objekt" als neues Bezugs-Glied definiert. Benötigen wir das so vereinbarte Bezugs-Glied nicht mehr, senden wir die Methode pop, entfernen dabei das aktuelle Bezugs-Glied und lesen das letzte Glied vom Stack als neues Bezugs-Glied ein.
3.5 Zugriff auf die BandeMit wenigen Ausnahmen geschieht der Zugriff auf ein Band immer bezüglich des Bezugs-Gliedes "Bezug".
addMethode ermittelt die Add-Methode des Bandes, bezüglich des Bezugs-Gliedes
imBauplan fragt, ob das Band im Bauplan des Bezugs-Gliedes steht
imBauplandesAnderen fragt, ob das Glied im Bauplan des anderen Gliedes (nicht des Bezugs-Gliedes) steht
methode ermittelt die Methode des Bandes für das Bezugs-Glied
methode: wert setzt die Methode des Bandes für das Bezugs-Glied auf die Methode "wert"
methodeAuf ermittelt die Methode des Bandes auf das Bezugs-Glied (in die andere Richtung wie die Methode "methode")
methodeFor: caller ist eine der Methoden, welche nicht vom Bezugs-Glied Gebrauch macht: ermittelt die Methode des Bandes für das Glied "caller" als Bezugs-Glied
methodeAufFor: caller ist die Kombination der Methoden "methodeAuf: wert" und "methodeFor: caller": sie ermittelt die Methode auf das Glied "caller" als Bezugs-Glied
next ermittelt das nächste Band in der Kette der Bande des Bezugs-Gliedes
next: wert setzt den Zeiger des nächsten Bandes für das Bezugs-Glied auf den Wert "wert"
nextFor: caller ist auch eine der Methoden, welche nicht vom Bezugs-Glied Gebrauch macht: sie ermittelt das nächste Band in der Kette der Bande des Gliedes "caller"
zeig ermittelt das Glied, welches durch das Band mit dem Bezugs-Glied verknüpft wird
zeig: wert setzt den Zeiger des referenzierten Gliedes im Band für das Bezugs-Glied
zeigAnderer: wert ist eine schwer verständliche Methode: wohl wird das Bezugs-Glied als Referenz verwendet, jedoch wird die Verknüpfung, vom anderen Glied aus gesehen, auf den neuen Wert "wert" gesetzt: es wir also das Band vom Bezugs-Glied auf ein neues Glied "wert" umgelenkt.
zeigFor: caller macht auch nicht vom Bezugs-Glied Gebrauch und ermittelt das Glied, welches durch das Band mit dem Glied "caller" verknüpft wird