2.4 Klasse und Objekt

Von Platon (427 - 347 v. Chr.), dem griechischen Philosophen der Antike stammt sinngemäß folgender Satz: Alle konkreten Gegenstände und Sachverhalte, die der Mensch mit seinen Sinnen wahrnimmt, sind pure (Ab)bilder jener Urbilder und werden nur erkannt, indem sie als eben solche (Ab)bilder identifiziert werden.

oder: Ein "java-sprechender" Platonschüler
Alles was der Mensch wahrnimmt sind Objekte, also Instanzen von Klassen
(= Ideen).


 

Was ist eine Klasse, was ist ein Objekt Wenn ein Kind sagt, dass der vor ihm stehende Dackel "Fifi" ein Hund ist, dass aber auch der Schäferhund "Fakir" ein Hund ist, dann hat das Kind im Prinzip gelernt, zwischen Klassen und Objekten im Sinne von OOP (= Objekt-Orientierte-Programmierung) zu unterscheiden. Den "Hund" gibt es tatsächlich nicht, der ist lediglich eine Abstraktion, eine Idee. Wirklich existieren nur "Fifi" und "Fakir". In OOP sagen wir auch "Fifi"  und "Fakir" sind Instanzen der Klasse 'Hund'.  Unschwer ist zu erkennen, dass das Kind von den Hunden "Fifi" und "Fakir" in einer Art und Weise spricht, wie wir es mit den beiden Turtlen t1 und t2 getan haben. Sie waren die Instanzen oder Objekte der Klasse Turtle.

Die Rolle von Klasse und Objekt und ihre Beziehung untereinander können wir uns noch durch ein weiteres Bild veranschaulichen. So sagt der Informatiker: Eine Klasse ist wie ein Bauplan, das Objekt ist dann eine konkrete Umsetzung. Was gehört nun alles zu einem solchen Bauplan? Er beschreibt zuerst einmal alle Eigenschaften, die ein Objekt haben soll, das man mit Hilfe dieses Bauplans erzeugt. Weiter enthält der Bauplan, also die Klasse die Methoden, mit denen man Veränderungen an den konkreten Objekten vornehmen kann.

Von der Klasse Turtle konnten wir eine oder auch mehrere Instanzen oder Objekte, nämlich t1, t2 usw. erzeugen.  Sie hatten nach dem Erzeugen z.B. die Eigenschaft, dass ihre Stifte (zum Zeichnen der Spur) unten war, dass sie sich nach dem Erzeugen im Koordinatenursprung befanden und ihr Blickrichtungen Norden (900) waren. Befehle wie etwa foward(100) sind also nichts anderes als Operationen, um den Zustand der Turtle t1, t2 etc. zu verändern.

Um eine Klasse und wie wir noch später sehen werden, die Beziehung von Klassen untereinander, möglichst übersichtlich aber mit allen nötigen Informationen beschreiben zu können, wurde eine spezielle Sprache entwickelt UML (Unified Modeling Language). Diese Sprache ist noch keine Programmiersprache, sie lässt sich aber auf weiten Strecken intuitiv verstehen. Im nächsten Kapitel stellen wir die Klasse Turtle in UML-Notation vor.

weiterführende Literatur

 

 

 

Gebundene Ausgabe - Spektrum Akademischer Verlag
Erscheinungsdatum: September 2004
ISBN: 3827403588


zu

2.5 Die Turtle in UML-Notation
zur Startseite www.pohlig.de  (C) MPohlig 2005