Das objektorientierte Hamster-Modell


In diesem Abschnitt bekommst du einen Einblick in das objektorientierte Hamster-Modell.

 

Imperatives Hamster-Modell vs. objektorientiertes Hamster-Modell

 

Das imperative Hamster-Modell 

  • Alles was du bisher kennen gelernt hast, kommt aus dem imperativen Hamster-Modell.
  • Das imperative Hamster-Modell kennt nur einen Hamster, der keinen Namen besitzt.
  • Dieser Hamster kennt die vier Grundbefehle wie vor(), linksUm(), gib() und nimm() sowie die boolesche Ausdrücke vornFrei(), maulLeer() und kornDa()
  • Der Hamster hat Eigenschaften „Attribute“ wie…

… eine bestimmte Position im Territorium

… eine bestimmte Anzahl an Körnern im Maul

… schaut in eine bestimmte Blickrichtung 

 

 

 

Das objektorientierte Hamster-Modell

  • Du kannst das objektorientierte Hamster-Modell als eine Art Erweiterung des imperativen Hamster-Modells sehen. Im objektorientiertem Hamster-Modell kannst du mehrere Hamster erzeugen und ihnen Namen vergeben. Damit das Programm weiß, welcher Hamster z. B. den Befehl vor() ausführen soll, ist es wichtig dem Hamster einen Namen zu vergeben.
  • Auch hier kennen alle erzeugten Hamster die vier Grundbefehle, die booleschen Ausdrücke und die eigenen Befehle.
  • Jeder Hamster besitzt folgende Eigenschaften „Attribute“: Position, Blickrichtung und Körneranzahl. Auch wenn jeder Hamster die gleichen Attribute besitzt, können sich die Werte dieser Attribute (Attributwert) bei den einzelnen Hamstern voneinander unterscheiden.

Beispiel:

Die Hamster Lara, Julia und Jan besitzen die Eigenschaften Position, Blickrichtung und Körneranzahl:

Attribut

Hamster 1 (Lara)

Hamster 2 (Julia)

Hamster 3 (Jan)

Position

Blickrichtung

Nach unten

Nach Links

Nach Links

Körneranzahl

10

10

3

 

  • Die Position beschreibt die Kachel, auf der der Hamster erzeugt werden soll – also die Kachel, auf der der Hamster das erste Mal im Programm auftaucht.
  • Auf einer Kachel können sich gleichzeitig mehrere Hamster befinden.