Sobes.tech
Junior

Was sind Referenzdatentypen?

sobes.tech KI

Antwort von AI

Referenzielle Datentypen speichern nicht den Wert selbst, sondern eine Referenz (Adresse im Speicher) auf den Ort, an dem dieser Wert gespeichert ist. Beim Zuweisen oder Übergeben dieser Daten wird nur die Referenz kopiert, nicht das gesamte Objekt. Änderungen, die über eine Referenz vorgenommen werden, sind bei Zugriffen über andere Referenzen sichtbar, die auf dasselbe Objekt zeigen.

Beispiele für referenzielle Datentypen in verschiedenen Sprachen:

  • Java: Klassen (String, Object, benutzerdefinierte Klassen), Schnittstellen, Arrays.
  • C#: Klassen (string, object, benutzerdefinierte Klassen), Schnittstellen, Delegates, Arrays.
  • Python: Alle Datentypen (Listen, Dictionaries, Tupel, Mengen, Klassen, Funktionen).
# Beispiel in Python
list1 = [1, 2, 3]
list2 = list1  # list2 verweist auf dieselbe Liste wie list1

list2.append(4)

print(list1)  # Ausgabe: [1, 2, 3, 4]
print(list2)  # Ausgabe: [1, 2, 3, 4]

Der Unterschied zu Werttypen besteht darin, dass Werttypen den Wert selbst speichern, und beim Zuweisen/Übergeben wird der gesamte Wert kopiert.

Beispiel zum Vergleich:

Merkmal Werttypen Referenztypen
Speicherung Der Wert selbst Referenz auf den Wert
Zuweisung/Übergabe Kopie des Wertes Kopie der Referenz
Änderung Beeinflusst das Original Ändert das Original
Beispiel (C#) int, struct, enum class, interface, array