Klassen und Objekte (1)
Computer verarbeiten Daten. Daten - das sind Zahlen und alles, was sich zu Zahlen machen lässt: Texte lassen sich in Zeichen zerlegen, die man wiederum mit Zahlen kodieren kann. Messwerte, Bilder, Töne und ganze Filme lassen sich digital kodieren und als Zahlenfolgen abspeichern oder weiterverarbeiten.
Der eine Nachteil dieser Betrachtungsweise ist, dass man angesichts der Fülle der Daten schnell die Übersicht verliert. Ein anderes Problem besteht darin, angesichts von vielen Bäumen den Wald zu erkennen. Während ein Mensch beim Anblick eines bestimmten Fotos ohne zu zögern Tante Erna identifiziert, ist ein Computer mit der Aufgabe, den Inhalt eines gespeicherten Fotos zu beschreiben, auch heute noch leicht überfordert.
Einer der Ansätze beim Versuch, die Welt besser zu digitalisieren, besteht nun darin, den engen Blickwinkel auf Zahlen, Zeichen und Pixelfarben aufzugeben und die Gegenstände der Welt als Ganzheiten zu betrachten. Die Welt besteht aus Objekten (Dingen, Gegenständen). Diese Objekte sind nicht alle grundsätzlich verschieden, sondern sie lassen sich unter bestimmten Kategorien betrachten und in Klassen (z.B. Lebewesen, Immobilien, Gebrauchsgegenstände) einteilen, die jeweils eine Reihe gemeinsamer Eigenschaften und Fähigkeiten aufweisen und durch andere Attribute voneinander unterschieden sind.
Betrachten wir
einmal die existierenden Objekte vom Typ Zeitanzeiger:
In der realen Welt würde werden Uhren nach eher äußerlichen Kriterien
kategorisiert.
Jemand, der den Konstruktionsbefehl "Baue eine Uhr" erhält oder jemand, der die
Anweisung zur Beschaffung eines Objekts der Klasse "Uhr" erhält, , würde also
Fragen nach ihrem Typ (Armbanduhr, Wecker, Wanduhr), nach ihrer Funktionsweise
(mechanisch, batteriebetrieben), nach ihrer Steuerung (autonom oder
funkgesteuert) und weiteren Kriterien wie Form, Farbe und Größe stellen.
Man kann die Klasse aller Uhren aber
auch anders - und erheblich weiter - fassen:
Die Funktionalität einer Uhr ist heute in unzähligen Artikeln vorhanden, unter
anderem natürlich auch in jedem PC. Eine Uhr - das ist abstrakt gesehen einfach
irgendeine Vorrichtung, die die momentane Uhrzeit mitführt und Verfahrensweisen
zum Ablesen zur Verfügung stellt.
Abstrakt gesprochen: Ein Objekt der Klasse Uhr
verfügt über das Attribut Uhrzeit. Die Klasse Uhr stellt
Methoden zur Verfügung, wie ich die Uhrzeit ablesen und
korrigieren kann.
Aus der Klasse Uhr lassen sich Unterklassen ableiten. Ein Objekt der Klasse
Wecker erbt alle Eigenschaften der Klasse Uhr, kann aber darüber hinaus das
Attribut Weckzeit speichern und überwachen und ermöglicht es außerdem ihrem
Benutzer, den Wecker an- und abzustellen.
Der Java-Editor besitzt einen eingebauten UML-Editor, der Ihnen gestattet, Klassen visuell zu modellieren. UML (Unified Modeling Language) ist eine genormte Sprache zur Modellierung von Strukturen und Abläufen. Ihre Möglichkeiten gehen weit über die visuelle Darstellung von Klassenbeziehungen hinaus. Informieren Sie sich bei Bedarf in der Wikipedia unter dem Stichwort Klassendiagramm.
Aufgaben