Unterschied zw. Exemplar und Objekt?
Was ist der Unterschied zwischen einem Exemplar und einem Objekt in der Informatik? Ich würde sagen, dass es Synonyme sind, aber der Prof meinte nein
2 Antworten
Der Begriff Exemplar steht (meines Wissens) stets im Bezug zur objektorientierten Programmierung und ist sprachunabhängig als Synonym für eine Instanz zu betrachten. Nicht jede objektorientierte Programmiersprache ist klassenbasiert (Bsp.: JavaScript, Self).
Daher drückt der Begriff Objekt lediglich aus, dass es sich einfach um ein Objekt handelt, welches aber nicht unbedingt einer Klasse zugehörig sein muss.
Ein Exemplar wiederum ist ein Objekt, welches von einer Klasse abgeleitet wurde.
Ich habe dazu noch einen Beleg herausgesucht, der es vielleicht noch verständlicher ausdrückt:
Klassen sind für die objektorientierte Programmierung so fundamental, dass in den meisten Programmiersprachen ein Objekt immer einer konkreten Klasse zugeordnet wird. [JavaScript ist hier eine der wenigen Ausnahmen, deswegen haben wir diese Sprache für unser erstes Beispiel gewählt. ] Damit fallen die Begriffe Objekt und Exemplar zusammen und werden oft (nicht ganz korrekt) als Synonyme verwendet. Der Unterschied ist, während das Wort »Objekt« keine Aussage über die Zugehörigkeit des Objekts zu einer Klasse beschreibt, wird das Wort »Exemplar« immer im Zusammenhang mit einer Klasse verwendet.
Und:
Eine Klasse beschreibt die gemeinsamen Eigenschaften und Operationen einer Menge von gleichartigen Objekten.
Die Objekte, die zu einer Klasse gehören, werden als Exemplare dieser Klasse bezeichnet (englisch instance).
Soweit ich weiß, kann ein Exemplar auch ein Wert sein, zum Beispiel die 4 bei
int i = 4;
Es ist ja eine Ausprägung des Datentyps int, aber kein Objekt.