Definition
Objekt
Ein Objekt ist ein fundamentaler Baustein in der Programmierung, der Zustände (Daten) und die dazugehörige Funktionalität (Operationen) zusammenfasst.
Objekte werden auch als Instanzen oder Ausprägungen einer Klasse bezeichnet.
Die Erzeugung eines Objektes nach dem Bauplan einer Klasse nennt man Instanziierung.
Datenfelder und Attribute
In der Schule werden diese Begriffe oft gleichgesetzt. Eine genauere Betrachtung, wie sie z. B. Lahres et al. (2021) vorschlagen, unterscheidet hier jedoch präziser:
Daten sind Informationen, die ein Objekt dauerhaft in Variablen speichert. In Java bezeichnet man diese Variablen als Instanzvariablen oder Datenfelder.
Attribute dagegen sind die von außen beobachtbaren Eigenschaften eines Objektes. Sie können direkt aus den Datenfeldern übernommen oder aus diesen berechnet werden.
Beispiel:
Eine Klasse Kreis könnte drei Datenfelder besitzen - xPosition, yPosition und radius.
Drei sondierende Getter-Methoden liefern dann die Werte dieser Datenfelder zurück. Hier werden also die Datenfelder direkt ausgewertet.
Zwei weitere sondierende Methoden könnten dann den Umfang und die Fläche des Kreises zurückliefern. Beide Werte werden aus dem Datenfeld radius berechnet.
Der Kernaspekt Datenkapselung
Der Begriff "Kapselung" ist vielleicht der wichtigste Aspekt bei der Betrachtung von Objekten. Er besagt, dass die internen Details eines Objekts – wie es seine Daten speichert oder wie es seine Aufgaben intern erledigt – vor der Außenwelt verborgen bleiben. Der Zugriff auf die Datenfelder des Objektes erfolgt daher ausschließlich über Getter-Methoden wie getRadius() oder getUmfang(), und die Datenfelder können nur über manipulierende Methoden wie setRadius(int pRadius) oder setPosition(int pX, int pY) verändert werden. Weitere Einzelheiten siehe "Datenkapselung"
Quellen:
- Lahres et al.: Objektorientierte Programmierung, Rheinwerk Computing 2021.
- Barnes, Kölling: Java lernen mit BlueJ - Objects first. Pearson-Verlag 2019.
- Ullenboom: Java ist auch eine Insel, Rheinwerk Computing 2023.
- Kecher et al.: UML 2.5 - Das umfassende Handbuch, Rheinwerk Computing 2021