Checkmark on Circle.png

Objekt (Informatik)

Aus KGS-Wiki
Version vom 5. September 2023, 05:44 Uhr von Sn (Diskussion | Beiträge) (Erweitert und mit Beispielen ergänzt)

Ein Objekt ist eine Datenstruktur in der Informatik, die durch ihren Zustand, ihr Verhalten und ihre Identität definiert ist. Objekte können dabei Instanzen von Klassen sein, müssen dies aber nicht zwingend.

In der objektorientierten Programmierung wird jede einzelne Komponente eines Programms als Objekt begriffen: jede Scratch-Figur, jeder Artikel in diesem Wiki, jede Zahl in einem Python-Programm.

Zustand
Der Zustand eines Objekts im BlueJ-Objektinspektor
Der Zustand eines Objekts im BlueJ-Objektinspektor

Der Zustand eines Objekts wird definiert durch seine Attribute und seine Beziehungen zu anderen Objekten. Wenn zwei Objekte den gleichen Zustand, aber nicht dieselbe Identität (s.u.) haben, sind sie gleich.

Verhalten

Das Verhalten eines Objekts wird definiert durch die Methoden, die dieses Objekt ausführen kann.

Identität

Jedes Objekt hat eine Identität, die dieses von anderen Objekten unterscheidet, selbst wenn diese den exakt gleichen Zustand aufweisen. In Python kann z.B. mit dem Operator == die Gleichheit zweier Objekte geprüft werden, während die Identität mit is verglichen wird:

>>> liste1 = [1, 2, 3]
>>> liste2 = [1, 2, 3]
>>> liste1 == liste 2
True
>>> liste1 is liste2
False

Demgegenüber vergleicht == in Java die Identität zweier Objekte, während für die Prüfung der Gleichheit eine equals-Methode vorhanden sein muss.

string1 = "Hallo Welt!";
string2 = "Hallo Welt!";
string1 == string2; // ist false
string2.equals(string2); // ist true