Home > Informatik > Formale Sprachen > Folge 23: Variablenverwaltung

23.1 Eine Variablenverwaltung

23.1 - 23.2

Wir orientieren uns wieder an dem Entwurfsdiagramm für unser Projekt:

Das konkretere Entwurfsdiagramm

Wir wollen den Interpreter um eine Variablenverwaltung erweitern. Dabei gehen wir am besten nach dem Bottom-Up-Prinzip vor: Zunächst bauen wir uns eine Klasse Variable mit den fünf im Diagramm angegebenen Methoden, anschließend erzeugen wir die Klasse Varlist mit dem Objektarray aus Variablen sowie den vier aufgezeigten Methoden.

Übung 23.1-1

Erstellen Sie die Klasse Variable mit den beiden Konstruktoren udn den drei Methoden. Als Zahlentyp soll hier double verwendet werden, als Texttyp String.

 
Übung 23.1-2

Schreiben Sie nun die Klasse Varlist. Intern sollen in einem Array oder in einer ArrayList maximal 32 Objekte der Klasse Variable gespeichert werden können. Die Methoden im Einzelnen:

public void assign(name: String, value: double)

Es wird nachgeschaut, ob bereits eine Variable mit dem angegebenen Namen existiert. Dazu muss der Array bzw. die ArrayList durchsucht werden. Wenn die Variable gefunden wurde, muss ihr Zahlenwert aktualisiert werden. Wurde die Variable nicht gefunden, so wird die private Methode insert aufgerufen.

public double getValue(name : String)

Diese Methode durchsucht den Array. Hat sie die Variable mit dem angegeben Namen gefunden, liefert sie den Zahlenwert dieser Variable zurück. Ist die Methode am Ende des Arrays angekommen, ohne den Namen gefunden zu haben, wird einfach der Wert -99999 zurückgegeben (oder ein anderer default-Wert).

private void insert(name: String, value: double)

Diese private Methode wird von assign aufgerufen, wenn die Variable noch nicht existiert und daher neu angelegt werden soll. Diese Aufgabe übernimmt dann insert.