Home > Informatik > Stufe Q1 > Referenzen > dynamische List

15.42 Quelltext-Analyse, Teil 4

setContent()

Die manipulierende Methode setContent "schreibt" konkreten Inhalt (content) in das aktuelle Element der Liste hinein.

   /**
    * Falls es ein aktuelles Objekt gibt (hasAccess() == true) und pObject
    * ungleich null ist, wird das aktuelle Objekt durch pObject ersetzt. Sonst
    * bleibt die Liste unverändert.
    */
    public void setContent(Object x)
    {
       if ((hasAccess()) && (x != null))
          act.wert = x;
    }

Das setzt natürlich vorraus, dass es überhaupt ein aktuelles Element gibt. Daher wird die Bedinung hasAccess() am Anfang der Methode überprüft. Wenn es kein aktuelles Element gibt, passiert nichts weiter.

Ein zweiter Fall, der vermieden werden muss, ist die Übergabe eines nicht vorhandenen Objektes bzw. des Wertes null. Daher die zweite Bedingung x != null.

Auch hier wird wieder vorausgesetzt, dass die Listen-Elemente Objekte der Klasse Knoten sind, die ja innerhalb der Klasse List definiert wurde. Alternativ hätte man die Klasse Knoten auch als eigenständige Klasse definieren und dann in List übernehmen können.

Betrachten Sie zur Verwendung von setContent folgendes kleines Testprogramm:

public class Test
{
    List l;

    public Test()
    {
       l = new List();
       l.append(new Bruch(1,1));
       l.append(new Bruch(1,2));
       l.append(new Bruch(1,3));
       l.toFirst();
       l.setContent(new Bruch(3,9));
       l.show();
    }
}

Der erforderliche Objekt-Parameter für setContent wird direkt beim Aufruf von setContent mit new erzeugt.