Objekte
In unserer Umgebung kommen jede Menge Objekte vor. Wenn ich an meinem Schreibtisch sitze, sehe ich das Heft, in dem ich diesen Text hier vorgeschrieben habe, und den Filzstift, mit dem ich den Text in das Heft geschrieben habe. Daneben liegt das Java-Buch, aus dem ich alles abgeschrieben habe. Dann ist da die Computer-Tastatur, auf der ich gerade tippe, der Monitor, in dem ich gerade das sehe, was ich mit der Tastatur tippe und so weiter.
Die Tastatur ist eine Apple-Tastatur aus dem Jahre 1995 vom Typ "Extended Keyboard II" mit einer Seriennummer, die abzuschreiben mir jetzt zu umständlich ist, da ich das Keyboard dann umdrehen müsste. Die Tasten "Y" und "X" sowie "Ö" und "Ä" und "?" sind sehr verschmutzt, und die Space-Taste steht rechts etwas höher als links. All dies sind Eigenschaften dieses speziellen Keyboards; kein anderes Extended Apple-Keyboard auf der Welt hat exakt diese Eigenschaften. Das macht dieses Keyboard - dieses Objekt - einzigartig, es verleiht ihm eine Identität.
Merkmale von Objekten
Jedes Objekt des Alltags ist durch drei wichtige Merkmale charakterisiert, die auch für die Objekte von Programmiersprachen gelten. Ich möchte Ihnen diese Merkmale am Beispiel des Autos verdeutlichen, das gerade auf der Straße vor meinem Haus vorbei fährt. Und nicht dass Sie denken, ich beschreibe mein Auto. Mein Auto ist schwarz, und nicht grau und es hat auch keinen Aufkleber.
Eigenschaften / Attribute
- Das Auto, das gerade auf der Straße vorbeifährt, ist grau
- Es hat eine Geschwindigkeit von ca. 40 km/h
- Es hat einen Verbrauch von ca. 6,9 Liter / 100 km
- Der Tank fasst ca. 70 Liter
- Es ist ein Fahrzeug der Marke "Mercedes" und gehört zum Typ "C-Klasse Kombi".
- Es hat an der Hintertür einen Aufkleber "Vorsicht: Anfänger"
- Die Hintertür hat links unten eine auffällige 2 cm tiefe Delle,
- Das Kennzeichen ist "JA-VA-07".
- Und so weiter...
Fähigkeiten / Methoden
- Das Auto kann fahren, beschleunigen, bremsen und lenken,
- der Motor kann an- und abgestellt werden,
- die Türen können auf- oder zugemacht werden,
- die Lampen können an- oder ausgeschaltet werden,
- die Hupe kann betätigt werden
- jedes Fenster kann auf- oder zugemacht werden,
- und so weiter...
Identität
Selbst wenn zwei Autos in allen Attributen völlig übereinstimmen, also wirklich zu 100 Prozent, so sind es immer noch zwei verschiedene Autos. Es sind zwar die "gleichen" Autos, aber nicht die "selben" Autos. Selbst wenn sie bis auf die letzte Schraube und deren Drehwinkel gleich sind, können sie zum Beispiel nicht auf dem gleichen Platz stehen, das heißt, ihre "Lokation" ist unterschiedlich.
Jedes Auto hat also seine eigene Identität.
Objekte in Java
Auch jedes Java-Objekt hat Attribute, Methoden und eine Identität, wie wir in den beiden Workshops schon gesehen haben.
Erzeugung von Objekten
Objekte werden in Java durch Aufrufen des Befehls new erzeugt. Bei diesem Befehl muss man dann angeben, nach welchem "Bauplan" man das Objekt herstellen will, das heißt, man nennt die Klasse, der das Objekt angehört:
sonne = new Circle();
Durch diesen Befehl wird ein Objekt sonne der Klasse Circle erzeugt. Der Konstruktor der Klasse Circle verlangt keinen Eingabeparameter, daher muss auch beim Erzeugen des Objektes sonne keine weitere Information in die Klammern hinter dem Namen des Konstruktors geschrieben werden.
In unseren Workshops hatten wir den new-Befehl immer mit einem rechten Mausklick auf die entsprechende Klasse aufgerufen:
Hier wird mit der rechten Maustaste auf das Symbol für die Klasse Circle geklickt, und man sieht den Befehl "new Circle()", der aus dem Schlüsselwort new und der Angabe der Klasse besteht und von einem leeren Klammerpaar () abgeschlossen wird.
Attribute verändern
Die Attribute unserer Circle-, Square- und Triangle-Objekte haben wir durch Aufrufen der entsprechenden manipulierenden Methoden verändert. Dazu mussten wir zunächst ein Objekt erzeugen, zum Beispiel das Objekt sonne der Klasse Circle.
Dann konnten wir mit der rechten Maustaste auf ein solches Objekt klicken und sahen eine ganze "Latte" von Methoden. Mit der Methode changeColor haben wir beispielsweise den Wert des Attributes color verändert (siehe Workshop 2).
Identität eines Objekts
Wir können zwei Objekte der Klasse Circle anlegen und dafür sorgen, dass alle Attributwerte dieser beiden Objekte übereinstimmen. Trotzdem handelt es sich um zwei verschiedene Objekte. Wenn wir den new-Befehl aufrufen, müssen wir jedem Objekt einen eigenen Namen geben. Dies verleiht den Objekten eine eigene Identität. Der Name des Objektes wird allerdings nicht in einem Attribut gespeichert, sondern Java merkt sich auf eine andere Art und Weise die Identität der Objekte, die hier zu erläutern aber den Rahmen sprengen würde.
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.