Objekt (Informatik): Unterschied zwischen den Versionen

Aus KGS-Wiki
(Seite angelegt, wird noch erweitert)
 
K (Erweitert und mit Beispielen ergänzt)
Zeile 1: Zeile 1:
Ein [[Objekt (Informatik)|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 [[Klasse (Informatik)|Klassen]] sein, müssen dies aber nicht zwingend.
Ein [[Objekt (Informatik)|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 [[Klasse (Informatik)|Klassen]] sein, müssen dies aber nicht zwingend.


== Zustand ==
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.
Der '''Zustand''' eines Objekts wird definiert durch seine [[Attribut (Informatik)|Attribute]] und seine Beziehungen zu anderen Objekten.


== Verhalten ==
====== Zustand ======
[[Datei:BlueJ Objektinspektor.png|alternativtext=Der Zustand eines Objekts im BlueJ-Objektinspektor|mini|Der Zustand eines Objekts im BlueJ-Objektinspektor]]
Der '''Zustand''' eines Objekts wird definiert durch seine [[Attribut (Informatik)|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 [[Methode (Informatik)|Methoden]], die dieses Objekt ausführen kann.
Das '''Verhalten''' eines Objekts wird definiert durch die [[Methode (Informatik)|Methoden]], die dieses Objekt ausführen kann.


== Identität ==
====== Identität ======
Jedes Objekt hat eine '''Identität''', die dieses von anderen Objekten unterscheidet, selbst wenn diese den exakt gleichen Zustand aufweisen. In [[Python (Programmiersprache)]] kann z.B. mit dem Operator <code>==</code> die ''Gleichheit'' zweier Objekte geprüft werden, während die ''Identität'' mit <code>is</code> verglichen wird:<syntaxhighlight lang="python" line="1">
Jedes Objekt hat eine '''Identität''', die dieses von anderen Objekten unterscheidet, selbst wenn diese den exakt gleichen Zustand aufweisen. In [[Python (Programmiersprache)|Python]] kann z.B. mit dem Operator <code>==</code> die ''Gleichheit'' zweier Objekte geprüft werden, während die ''Identität'' mit <code>is</code> verglichen wird:<syntaxhighlight lang="python" line="1">
>>> liste1 = [1, 2, 3]
>>> liste1 = [1, 2, 3]
>>> liste2 = [1, 2, 3]
>>> liste2 = [1, 2, 3]
Zeile 15: Zeile 18:
>>> liste1 is liste2
>>> liste1 is liste2
False
False
</syntaxhighlight>{{Lückenhaft|Noch ein paar Beispiele und so...
</syntaxhighlight>Demgegenüber vergleicht <code>==</code> in [[Java (Programmiersprache)|Java]] die Identität zweier Objekte, während für die Prüfung der Gleichheit eine <code>equals</code>-Methode vorhanden sein muss.<syntaxhighlight lang="java" line="1">
}}{{Navigationsleiste Objekte in verschiedenen Sprachen}}
string1 = "Hallo Welt!";
string2 = "Hallo Welt!";
string1 == string2; // ist false
string2.equals(string2); // ist true
</syntaxhighlight>{{Navigationsleiste Objekte in verschiedenen Sprachen}}
[[Kategorie:Informatik]]
[[Kategorie:Informatik]]
[[Kategorie:Objektorientierte Programmierung]]
[[Kategorie:Objektorientierte Programmierung]]

Version vom 5. September 2023, 05:44 Uhr

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