LU04c - Destruktor
Destruktoren werden aufgerufen, unmittelbar bevor ein Objekt gelöscht (zerstört) wird.
Beschreibung
Ein Destruktor in Python ist eine spezielle Methode, die aufgerufen wird, wenn ein Objekt einer Klasse zerstört wird, das heisst, wenn seine Lebensdauer endet und es aus dem Speicher entfernt wird.
Der Destruktor wird in Python mit der Methode del()
definiert.
Python hat eine eingebaute Speicherverwaltung und Garbage Collection, weshalb der Einsatz von Destruktoren in vielen Fällen nicht notwendig ist.
Aufruf
Ein Objekt „lebt“ solange mindestens eine Referenzvariable einen Verweis auf das Objekt enthält. Python zählt im Hintergrund, wie viele Referenzen auf ein Objekt existieren. Existiert auf ein Objekt keine Referenz mehr, wird der Dekonstruktor automatisch aufgerufen.
Zweck
Hauptsächlich wird der Destruktor verwendet, um Ressourcen freizugeben, die das Objekt während seiner Lebensdauer verwendet hat (z.B. das Schliessen von Dateien oder Netzwerkverbindungen).
Beispiel
class MyClass: def __init__(self, name): self.name = name print(f'Objekt {self.name} wurde erstellt.') def __del__(self): print(f'Objekt {self.name} wird zerstört.') # Erstellen eines Objekts obj = MyClass('TestObjekt') # Löschen des Objekts del obj # Am Ende des Programms wird der Destruktor automatisch aufgerufen, # wenn das Objekt nicht mehr referenziert wird.
Erklärung des Beispiels
__init__(self, name):
Dies ist der Konstruktor, der beim Erstellen eines Objekts aufgerufen wird. Hier wird das Objekt mit einem Namen initialisiert.