Klassen im Spiegel der Schulbücher
Der Begriff der Klasse wird in den verschiedenen Schulbüchern teils unterschiedlich definiert. Zunächst einmal möchte ich meine eigene, unvollkommene Definition zum Besten geben:
Klassen
Klassen sind Vorlagen zur Erstellung von Objekten.
Bei der Konstruktion einer Klasse werden die Attribute und die Methoden definiert, die allen Objekten dieser Klasse eigen sind. Die konkreten Attributwerte können sich jedoch von Objekt zu Objekt unterscheiden.
Nun wollen wir einmal verschiedene Definitionen aus unterschiedlichen Büchern vergleichen und die wesentlichen Aspekte aufzeigen. Die erste Definition, die mir in die Hände kommt, ist aus dem Buch "Objektorientierte Softwareentwicklung mit UML" von Peter Forbrig (München, Wien, 2002).
Klasse
Eine Klasse beschreibt eine Sammlung von Objekten mit gleichen Eigenschaften (Attributen), gemeinsamer Funktionalität (Methoden), gemeinsamen Beziehungen zu anderen Objekten und gemeinsamer Semantik.
Hier wird ebenfalls auf die gemeinsamen Attribute und Methoden eingegangen. Neu in dieser Definition ist die Erwähnung der gemeinsamen Beziehungen zu anderen Objekten. Dieses Thema ist recht fortgeschritten, in der ersten Folge dieses Lehrgangs werde ich daher nicht darauf eingehen.
In dem Informatik-Schulbuch des Duden-Verlags, "Objektorientierte Programmierung mit BlueJ" (Berlin 2008) habe ich folgende Definition des Begriffs Klasse gefunden:
Klassen
Eine Klasse beschreibt Objekte mit gleichen Attributen und gleichen Methoden. Eine Klasse kann mit einer Fabrik verglichen werden, sie kann viele Objekte erzeugen. Die Attribute eines Objekts nehmen bestimmte Werte an. Ein Objekt bietet Dienste, man sagt auch (öffentliche) Methoden an. Diese werden in der Klassenkarte notiert.
Eine interessante Definition, die hauptsächlich auf Objekte, weniger auf Klassen eingeht. Der Vergleich mit einer Fabrik ist nicht so gut, finde ich. Eine Fabrik kann durchaus viele unterschiedliche Objekte erzeugen, aus einer Klasse kann man aber immer nur Objekte des gleichen Typs herstellen. Außerdem gehört eine solche Analogie nicht in die Definition eines Begriffs, sondern in die Erläuterung der Definition.
Ungewöhnlich ist hier auch, dass die Methoden eines Objektes bzw. einer Klasse als Dienste bezeichnet werden, dies ist in der Schulbuchlandschaft aber nicht ungewöhnlich. Auch in den Unterlagen zum Informatik-Zentralabitur NRW ist von solchen Diensten die Rede. Mit dem Begriff Klassenkarte ist ein einfaches UML-Klassendiagramm gemeint.
In dem grundlegenden Lehrbuch "Grundlagen der Informatik" von Helmut Balzert wird der Begriff Klasse auf Seite 113 (1. Auflage 1999) wie folgt definiert:
Klassen
Eine Klasse spezifiziert die Gemeinsamkeiten einer Menge von Objekten mit denselben Eigenschaften (Attributen), demselben Verhalten (Operationen) und denselben Beziehungen. Eine Klasse besitzt einen Mechanismus, um Objekte zu erzeugen (object factory). Jedes erzeugte Objekt gehört zu genau einer Klasse... Das Verhalten (behavior) einer Klasse wird durch Botschaften beschrieben, auf die diese Klasse bzw. deren Objekte reagieren können. Jede Botschaft aktiviert eine Operation gleichen Namens.
Die "Grundlagen der Informatik" sind zwar kein Schulbuch, sollen der Vollständigkeit halber aber doch berücksichtigt werden, weil viele Informatik-Lehrer sich an diesem tollen Lehrbuch orientieren, das leider nicht mehr erhältlich ist.
Näheres zum Thema finden Sie in dem Lernbaustein "Klassen und Objekte" . Hier vergleiche ich Klassen und Objekte mit verschiedenen Situationen im Alltag, zum Beispiel mit einem weißen Passat, einem Stempel oder einer Formatvorlage.
Wenn Sie etwas mehr über Klassen wissen möchten, gehen Sie doch bitte auf meine Lexikonseite "Klassen", die ich für fortgeschrittenere Schüler(innen) geschrieben habe.