Objekt (Informatik)
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 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