25 OOP  (eine kurze Bestandsaufnahme und Ergänzungen)
25.1 Was sind Klassen, was Objekte?
 
Wir haben, ohne es im Detail zu erwähnen, schon sehr häufig es mit Klassen und Objekten zu tun gehabt. Hier wollen wir über das bereits Gesagte eine kleine Bestandsaufnahme machen. Mit der objektorientierten Modellierung (OOM), die erst die Tragweite der der objektorientierten Programmierung (OOP) aufzeigt, werden wir uns später beschäftigen

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  (nach Platon)

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

Am Beispiel der Klasse Mathematik.java haben wir zum ersten mal gesehen, wie man eigene Klassen schreibt. Diese Klasse Mathematik.java zeigt aber lediglich, wie man mit einer Klasse Übersicht und Ordnung schaffen kann. Was aber Klassen in OOP (Objekt-Orientierte-Programmierung) tatsächlich ausmachen, wurde kaum sichtbar. Wir wollen nun zeigen, zu was allem, Klassen innerhalb von OOP benutz werden können. Was ist aber eine Klasse?
Wenn ein Kind sagen, dass der vor ihm stehende Dackel "Fifi" ein Hund sei, dass aber auch der Schäfer "Fakir" ein Hund sei, dann hat das Kind i.P. gelernt zwischen, zwischen Klassen und Objekten im Sinne von OOP 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'. 
Etwas allgemeiner können wir sage.. Klassen werden dazu benutzt, Dinge der realen und der gedachten Welt zu modellieren. Solche "Dinge" können Mitarbeiter in einer Firma sein, oder eine komplizierte Gleichung in der Mathematik.

a)

 

Attribute, Methoden Ein Stempel enthält den "Bauplan" für einen Mitarbeiter. Der entspricht der Klasse, die Bilder, die man beim "Stempeln" erhält, entsprechen den Objekten. Wir sehen: Aus einer Klasse kann man im Prinzip beliebig viele Objekte erzeugen. Eigenschaften, die den konkreten "Zustand" eines Objektes beschreiben nennen wir Attribute. Sie sind wie Variable, die Werte haben. In unserem Beispiel, wären das etwa die konkreten Namen und das jeweilige Gehalt. Jedes aus einer Klasse erzeugte Objekt hat somit seine eigenen Attribute. 1)
Methoden (genauer: Objektmethoden) werden dazu benutzt, Zustände von Objekten zu verändern, das heißt die Werte ihrer Attribute zu verändern, Werte zu setzen oder abzufragen.
 
Zusammenfassung Klassen sind Baupläne von Dingen. Objekte sind Instanzen, die man von diesen Bauplänen erzeugen kann. Jedes Objekt hat seine Attribute, die in seiner Klasse angelegt sind. Die Attribute haben Werte, sie beschreiben den Zustand eines Objektes. Einen Attributwert kann mit Hilfe von Methoden setzten, lesen oder verändern.
Fussnote 1) Klassenattribute gehören allerdings zur Klasse und nicht zum Objekt. Man erkennt sie an dem vorgestellten static. Man vergleiche dies mit den bereits kennen gelernten Klassenmethoden. (zurück)

a) Die Abbildungen stammen aus dem:
Lehrbuch Grundlagen der Informatik
Helmut Balzert
Spektrum Verlag ISBN 3 8274 - 0358 - 8

zu 25.2 Klasse Punkt: Attribute, Konstruktoren,  Methoden
zur Startseite www.pohlig.de (C) MPohlig 2003