Abschnittsübersicht

    • Herzlich Willkommen in unserer Welt, Ina und Joe!

      Ina und Joe sind zwei junge Schildkröten. Joe ist eine halbe Stunde vor seiner Schwester Ina geschlüpft ist. Ina erkennt man im Bild sehr gut, denn sie hat auf den letzten zwei Platten des Wirbelschildes (fünf Platten) keine schwarzen Punkte. Joe hingegen besitzt auf der vierten Platte einen schwarzen Punkt und auf der fünften Platte keinen Punkt. Beide bewegen sich so langsam vorwärts.

      Joe (links oben) und Ina, zwei soeben geschlüpfte Schildkröten

      ... und schon sind wir mittendrin in der Beschreibung der Welt mithilfe der objektorientierten Modellierung. In der Informatik werden Joe und Ina Objekte der Klasse Schildkröte genannt. Eine Klasse ist dabei eine Art Bauplan für gleichartige Objekte, die durch Eigenschaften (Attribute) und Fähigkeiten (Methoden) definiert werden. Ein Objekt ist also eine konkrete Realisierung und wird als Instanz bezeichnet. Die Attribute des Objekts/der Instanz besitzen bestimmte Werte.

      Hinweis: Eine ähnliche Art der Modellierung ist uns aus der Unterrichtseinheit Datenbanksysteme schon bekannt. Dort betrachteten wir Entitäten mit Attributen und Attributwerten und stellten die Abstraktion als Entitätstyp im ER-Diagramm dar. Allerdings spielten die Fähigkeiten keine Rolle.

      Eine Objektkarte dient der übersichtlichen Darstellung des Zustands eines Objekts zu einem bestimmten Zeitpunkt. Für Ina und Joe sehen die Objektkarten so aus:

      Zur Darstellung der Klasse verwenden wir das Klassendiagramm. Es gibt neben dem Namen und den Eigenschaften auch die Fähigkeiten (Methoden) an. Einige Methoden benötigen weitere Angaben, die mithilfe von Parametern übergeben werden können.

    • Seymor Papert CC-BY-SA 3, Matematicamente.it, Wikipedia

      Seymour Papert war Professor für Mathematik und Erziehungswissenschaften am Massachusetts Institute of Technology. Er wollte Schülern informatische Fähigkeiten bei gleichzeitiger Mündigkeit von der IT vermitteln. Dazu entwickelte er in den 1960er die Programmiersprache LOGO. In dieser gab es eine Turtle, also eine Schildkröte, die man durch Befehle steuern konnte und die den dabei abgelaufenen Weg zeichnete. 

      ... und das können wir auch machen!

      Die Turtles verfügen über Befehle zum Bewegen und Drehen, können aber auch die Stiftfarbe ändern. Eine Übersicht über die Fähigkeiten unserer Turtles liefert das Klassendiagramm. Unsere Turtle joe lebt in der Entwicklungsumgebung BlueJ und solle neue Fähigkeiten erlernen. Aus dem Klassendiagramm wissen wir bereits, dass Fähigkeiten = Methoden sind. Also müssen wir Methoden (in Java) entwickeln.

    • Wir erweitern die Klasse Turtlezeichner nun immer weiter um Fähigkeiten mit dem Objekt Joe und nutzen dabei die Aufgaben aus dem SOL-Kurs "Turtle-Grafik mit Java".

    • Das Tutorial führt uns durch algorithmische Strukturen und Grundlagen der Programmierung. Beachten Sie, dass sich die Turtle-Befehle in den Beispielen von unseren hier unterscheiden. Sie können also nicht die Quelltexte kopieren.

    • Methoden in Java

      In unserer BlueJ-Welt existiert das Objekt joe der Klasse Turtle in der Klasse Turtlezeichner. Für das Lernen neuer Zeichnungen nutzen wir diese Klasse und ergänzen sie um eigene Methoden.

      Eine Methode, die wir von außen aufrufen können (public) und die nichts zurück gibt (void) - also einen Auftrag ausführt - hat in Java folgenden Aufbau:

      public void machWas(){
        //hier Algorithmus einfügen
      }

      Sind Parameter zur Übergabe von Werten notwendig, dann verwenden wir folgende Struktur:

      public void machWasAnderes(Datentyp pParameter){
        //hier Algorithmus einfügen
      }

      Beispiele:

      Joe zeichnet ein Quadrat mit fester Seitenlänge:

      public void zeichneQuadrat(){
        for (int i = 1; i <= 4; i++){
          joe.move(100);
          joe.turn(90);  
        }
      }

      Joe zeichnet ein Rechteck mit variablen Seitenlängen:

      public void zeichneRechteck(int pLaenge, int pBreite){
        for (int i = 1; i <= 2; i++){
          joe.move(pLaenge);
          joe.turn(90);  
          joe.move(pBreite);
          joe.turn(90);
        }
      }
    • Lösungen Einfaches Zeichnen Datei
      Nicht verfügbar, außer: Sie sind in LK
    • Lösungen Einfache Schleifen Datei
      Nicht verfügbar, außer: Sie sind in LK
    • Lösungen Verschachtelte Schleifen Datei
      Nicht verfügbar, außer: Sie sind in LK
    • Lösungen Verzweigungen Datei
      Nicht verfügbar, außer: Sie sind in LK
    • Komplexe Übungen Teil 1 Lösungen Datei
      Nicht verfügbar, außer: Sie sind in LK
    • Lösungen Komplexes Datei
      Nicht verfügbar, außer: Sie sind in LK