Kids' Programming Language
Inhalt

Sprachreferenz

Klassen ()

Benutzerdefinierte Klassen

Bisher wurden Objekte von Klassen erzeugt, die vorgegeben waren wie z.B. Kreis, Quadrat, Zahl, usw. Klassen können aber auch selbst geschrieben werden. Dadurch können Objekte erzeugt werden, die selbst formulierte Aufgaben erfüllen können. Als Beispiel soll eine Klasse geschrieben werden, dessen Objekte ein Quadrat mit einem innenliegenden Kreis zeichnen können. Zunächst muss dazu mit dem -Schalter eine neue Klasse eingefügt werden. Als Name für die Klasse soll 'KreisQuadrat' gewählt werden. In den roten Kasten unter 'KreisQuadrat' lassen sich wie auch im Kasten unter 'Programm' beliebig viele Anweisungen schreiben.  Dort soll zunächst ein Quadrat- und ein Kreis-Objekt erzeugt werden.
 
Programm

KreisQuadrat
Quadrat=Quadrat()
Kreis=Kreis()
 
Um unter 'Programm' ein Objekt von der Klasse 'KreisQuadrat'  zu erzeugen, schreibt man 'Objekt=KreisQuadrat()', d.h.:
 
Programm
Objekt=KreisQuadrat()
KreisQuadrat
Quadrat=Quadrat()
Kreis=Kreis()
 
Wird ein Objekt von 'KreisQuadrat' erzeugt, so werden alle Anweisungen unter 'KreisQuadrat' der Reihe nach ausgeführt. In unserem Fall wird dann ein Objekt 'Quadrat' und ein Objekt 'Kreis' erzeugt. Wichtig ist, dass diese Objekte nicht innerhalb des Kastens unter 'Programm' sichtbar sind. Das bedeutet, dass eine 'zeige:Kreis' im Programm zu einem Fehler führt, da auf das Objekt 'Kreis' nicht zugegriffen werden kann. Unter 'KreisQuadrat' lässt sich aber auf die beiden Objekte zugreifen, so dass sich die beiden Objekte wie folgt zeigen lassen:
 
Programm
Objekt=KreisQuadrat()
KreisQuadrat
Quadrat=Quadrat()
Kreis=Kreis()
zeige:Quadrat
zeige:Kreis

Parameter

Wir sind gewohnt beim Erzeugen eines Objekts Parameter zu bestimmen, die z.B. angeben wie das Objekt aussehen soll. Für 'KreisQuadrat' wäre ein Parameter 'Größe' sinnvoll, der einen Zahlenwert beinhaltet, einen Text-Parameter namens 'FarbeKreis' für die Farbe des Kreises und einen Text namens 'FarbeQuadrat' für die Farbe des Quadrats. Im Programm könnte dann ein 'KreisQuadrat'-Objekt mit 'Objekt=KreisQuadrat(Größe=100, FarbeKreis="gelb", FarbeQuadrat="braun")' erzeugt werden:
 
Programm
Objekt=KreisQuadrat(Größe=100,FarbeKreis="gelb",FarbeQuadrat="braun")
 
Damit dies möglich ist, muss ein Klammerpaar hinter 'KreisQuadrat' gesetzt werden, in das die Parameter geschrieben werden zusammen mit einem Vorgabewert:
 
KreisQuadrat (Größe=100, FarbeKreis="rot",FarbeQuadrat="orange")
Quadrat=Quadrat()
Kreis=Kreis()
zeige:Quadrat
zeige:Kreis
 
Wird ein Objekt nicht unter Angaben aller drei Parameter erzeugt, so wird für die restlichen Parameter der Vorgabewert benutzt. Die Parameter können innerhalb der Klasse 'KreisQuadrat' als normale Objekte benutzt werden und erscheinen entsprechend auch im Klassen-Browser.  Für das Beispiel benutzen wir nun die Parameter um dem Kreis und dem Quadrat die richtige Farbe und die richtige Größe zu geben:
 
Programm
Objekt=KreisQuadrat()
KreisQuadrat (Größe=100, FarbeKreis="rot",FarbeQuadrat="orange")
Quadrat=Quadrat(Farbe=FarbeQuadrat,Größe=Größe)
Kreis=Kreis(Farbe=FarbeKreis,Größe=Größe)
zeige:Quadrat
zeige:Kreis
 
Da hierbei beim Erzeugen des Objekts 'Größe' nicht angeben wurde, wird der Vorgabewert '100' benutzt. Man beachte, dass ein Vorgabewert immer angegeben werden muss (auch bei komplexeren Objekten wie z.B. bei Bildern, Rechtecken, Listen, etc.). Möglichkeiten für Vorgabewerte sind z.B. 'EineZahl=12', 'EinText=""', 'EinText=Text()', 'Durchmesser=Zahl()', 'Bild=Bild(Name="Auto")' und 'Namensliste=Liste(Typ=Text)'.

Die Klasse 'Programm'

Es ist bestimmt schon aufgefallen, dass die Klasse 'KreisQuadrat' genauso aussieht wie 'Programm' mit dem darunterstehenden Kasten. Tatsächlich ist 'Programm' auch eine Klasse. Beim Ausführen eines KidsPL-Programms wird zunächst geschaut, ob es eine Klasse namens 'Programm' gibt. Falls ja, wird ein Objekt der Klasse 'Programm' erzeugt, was dazu führt, dass alles im Kasten unter 'Programm' ausgeführt wird. Falls nicht, wird eine Fehlermeldung erzeugt.

Wichtig ist, dass auch benutzerdefinierte Klassen Methoden besitzen können, was unter Methoden weiter erläutert wird.

Jetzt kostenlos herunterladen.
Diese Seite ausdrucken.
Diese Seite speichern.