Home > Informatik > Stufe EF > Lernbausteine

Klassen und Objekte

Die Auto-Analogie

In der Garage Ihres Nachbarn steht ein weißer Passat. Die Farbe bröckelt schon etwas ab, weil er 12 Jahre alt ist. Vorne rechts in der Windschutzscheibe ist ein kleiner Riss, und die Antenne ist an zwei Stellen verbogen. Das Auto, das Sie jeden Tag sehen, ist ein ganz bestimmter Passat, den man anhand dieser Eigenschaften oder Attribute eindeutig von anderen Fahrzeugen des gleichen Typs unterscheiden kann.

Etwas völlig anderes ist es, wenn Sie von einem Bekannten gefragt werden: "Wie findest Du eigentlich den neuen Passat von VW?" Damit ist kein individuelles Fahrzeug mehr gemeint, sondern die ganze Baureihe.

Was hat das jetzt alles mit Klassen und Objekten zu tun? Nun, die Baureihe Passat entspricht einer Klasse. Der Passat in der Garage ist aber ein Objekt.

Eine Klasse ist etwas Abstraktes, man kann "die Baureihe Passat" nicht anfassen oder sehen. Wenn man dagegen einen bestimmten Passat sieht, so sieht man immer ein konkretes Objekt. Den "Passat des Nachbarn" kann man anfassen, man kann ihn fahren und so weiter.

Die Stempel-Analogie

Betrachten Sie den Stempel eines Gehaltsbüros einer Firma. Der Angestellte in diesem Büro haut diesen Stempel immer auf Karteikarten, und dann trägt er die sechs Angaben (ich habe dieses Beispiel stark vereinfacht) auf die Karteikarte ein. Der Stempel könnte zum Beispiel so aussehen:

Der Stempel einer Firma

Der Stempel eines Gehaltsbüros. Eine veränderte Abbildung aus der OpenClipart-Sammlung, von user unknown, nach der Creative Commons Zero 1.0 License.

Zunächst macht der Angestellte die Karteikarte von Gabi Böhler fertig.

Der Stempel auf einer Karteikarte: Gabi Böhler

Als nächstes bearbeitet er die Karte von Klaus Baum. Diese Karteikarte unterscheidet sich von der ersten, obwohl sie mit dem gleichen Stempel hergestellt wurde.

Stempel auf einer zweiten Karteikarte: Klaus Baum

Es ist nicht schwer zu erraten, was hier die Klasse und was ein Objekt sein soll. Der Stempel ist die Klasse, während die ausgefüllten Stempelabdrücke auf den Karteikarten die Objekte sind. Bisher liegen zwei Objekte vor, die sich in ihren Attributwerten unterscheiden: Name, Vorname, in Firma seit, Alter, Gehalt und Steuerklasse sind unterschiedlich. Wenn der Angestellte im Büro aber fleißig ist, wird er im Laufe des Tages noch viel mehr solcher Objekte produzieren. Und zwar mit seinem Werkzeug zur Herstellung von Objekten, dem Stempel. Ähnlich wie der Stempel ist auch eine Klasse eine Vorlage zur Herstellung von Objekten.

Dies ist eigentlich eine sehr schöne Analogie. Den Stempel muss man erst herstellen, damit man Abdrücke machen kann. Ähnlich muss man eine Java-Klasse zuerst programmieren, man muss den Quelltext aufschreiben und speichern und kompilieren. Erst dann kann man Objekte der Klasse anlegen.

Wussten Sie eigentlich schon, dass es auch sogenannte Paginierstempel gibt, die mit einem mechanischen Zählwerk ausgestattet sind, das so ähnlich arbeitet wie der Kilometerzähler in einem Auto? Bei jedem Stempelabdruck wird die gestempelte Zahl um eine Einheit erhöht. Das ist sehr praktisch für viele Anwendungen, wenn man zum Beispiel viele kopierte Seiten durchnummerieren will.

Die Formatvorlagen-Analogie

Sie haben sicherlich schon einmal mit Formatvorlagen einer Textverarbeitung wie Apple Pages, Open Office Writer etc. gearbeitet. Wenn man zum Beispiel ein Rundschreiben verfassen will, so doppelklickt man einfach auf die gewünschte Formatvorlage.

Dokumentvorlagen der Apple-Textverarbeitung Pages

Meine Lieblingstextverarbeitung, mit der ich jeden Tag arbeite, erzeugt dann ein neues Dokument, das genauso aufgebaut ist, wie in der Formatvorlage festgelegt wurde.

Das aus der Formatvorlage erzeugte Dokument

Die Formatvorlage ist also eine Vorschrift zur Konstruktion von Dokumenten. Wenn Sie das Dokument speichern wollen, müssen sie ihm einen eindeutigen Namen geben. Danach können Sie ein zweites Dokument von der gleichen Vorlage erzeugen, ein drittes und so weiter.

Der Zusammenhang mit Klassen und Objekten sollte Ihnen jetzt klar sein: Die Formatvorlage entspricht einer Klasse, und das konkrete Dokument ist ein Objekt. Auch hier gilt wieder: Klassen sind Vorlagen zur Erstellung von Objekten, und die verschiedenen Objekte einer Klasse unterscheiden sich voneinander durch unterschiedliche Attributwerte.

Wenn Sie etwas mehr über Klassen und Objekte wissen möchten, gehen Sie doch bitte auf meine Lexikonseiten "Klassen" und "Objekte" die ich für fortgeschrittenere Schüler(innen) geschrieben habe.