Kontrolle über das Programm
Listen und Felder
Häufig benötigt man mehrere Objekte der gleichen Klasse. Statt alle Objekte einzeln zu verwalten, kann man diese Objekte in eine Art Sammelbehälter ablegen. Solche Sammelbehälter sind z.B. Listen und Felder. In diesen Sammelbehältern lassen sich eine bestimmte Anzahl von Objekten hineinlegen und auch wieder herausnehmen. Diese Behälter können immer nur eine bestimmte Klasse von Objekten aufnehmen, so dass beim Erzeugen ("Generieren") eines Behälter die Klasse der Objekte angegeben werden muss. Man bezeichnet die Behälter deswegen als generische Objekte.Listen
Soll eine Liste von Text-Objekten angelegt werden, so muss bei Erzeugen der Liste ein zusätzlicher Parameter 'Typ' angegeben werden. Nach 'Typ' folgt ein Gleichheitszeichen und der Name einer Klasse:Programm
|
ErsteListe=Liste(Typ=Text) |
Achtung: Nach der Klasse folgt kein Klammerpaar '
()', da hier kein
Objekt erzeugt werden soll, sondern nur die Klasse mitgeteilt wird, die
als so genannter "generischer Typ" verwendet wird. In diesem Fall ist
der Generische Typ die Klasse 'Text'. Es lässt sich aber
genauso gut eine Liste von Bild-Objekten erzeugen, indem man schreibt:Programm
|
ZweiteListe=Liste(Typ=Bild) |
Gibt man den Parameter '
Typ' nicht an, so wird standardmäßig
eine Liste von Zahl-Objekten erzeugt.Um einer Liste ein Objekt (am Listenende) hinzuzufügen, kann man die Methode '
fügeHinzu' benutzen. Der Parameter 'Wert' der Methode
bestimmt das hinzuzufügende Objekt. Man beachte: Das Objekt muss von
der in 'Typ' angegebenen Klasse erzeugt worden sein. Hier sind ein paar
Beispiele:Programm
|
% Eine Liste für Texte: TextListe=Liste(Typ=Text) fügeHinzu(Wert="Zahnbürste"):TextListe fügeHinzu(Wert="Welt"):TextListe % Eine andere Liste für Zahlen: ZahlListe=Liste(Typ=Zahl) fügeHinzu(Wert=42):ZahlListe % Eine weitere Liste für Kreise: KreisListe=Liste(Typ=Kreis) fügeHinzu(Wert= Kreis(Farbe="gelb") ):KreisListe |
Listen-Objekte haben einige weitere Methoden: Die Methode '
gibGröße' gibt z.B. die Anzahl der in der Liste enthaltenen
Objekte als Rückgabewert zurück. Die Methode 'gib' gibt ein
Objekt aus der Liste als Rückgabewert zurück, das aber in der
Liste verbleibt. Um zu bestimmen welches Objekt aus der Liste
zurückgegeben werden soll, muss der Parameter 'Index' angegeben
werden. 'Index=1' steht für den ersten Eintrag in der Liste,
'Index=2' für den zweiten und so weiter. Im folgenden Beispiel
werden drei Text-Objekte der Liste mit dem Namen 'Geschwister'
hinzugefügt. Anschließend wird die Anzahl der in der Liste
vorhanden Objekte und das Text-Objekt mit dem 'Index=2' ausgegeben:Programm
|
Geschwister=Liste(Typ=Text) fügeHinzu(Wert="Peter"):Geschwister fügeHinzu(Wert="Anna"):Geschwister fügeHinzu(Wert="Paul"):Geschwister schreibe:"Ich habe " + gibGröße:Geschwister + " Geschwister." schreibe:"Meine Schwester heißt " + gib(Index=2):Geschwister +"." |
Listen sind sehr flexibel beim Hinzufügen und Entfernen von Objekten und besitzen viele weitere Methoden, die in der Klassenreferenz nachgeschlagen werden können.
Felder
Eine weitere Möglichkeit mehrere Objekte zu verwalten, besteht mit der Klasse 'Feld'. Ein wichtiger Unterschied zu Listen
ist, dass beim Erzeugen eines Feldes die Anzahl der Plätze im Feld
(d.h. die Länge des Feldes) angegeben werden muss. Die Plätze
setzt man mit der Methode 'setze' unter Angabe des Indexes:Programm
|
Geschwister=Feld(Typ=Text,Länge=3) setze(Index=1,Wert="Peter"):Geschwister setze(Index=2,Wert="Anna"):Geschwister setze(Index=3,Wert="Paul"):Geschwister schreibe:"Ich habe " + gibLänge:Geschwister + " Geschwister." schreibe:"Meine Schwester heißt " + gib(Index=2):Geschwister +"." |
Weitere Informationen finden sich in der Klassenreferenz. Listen und Felder sind besonders nützlich im Zusammenhang mit Programmstrukturen wie z.B. '
zähle...mache'.
|
© Kids' Programming Language - Programmieren für Kinder
Die Programmiersprache für Kinder und Jugendliche www.KidsPL.de - Letzte Änderung am 27.11.07 |








