Inhaltsverzeichnis:
Definition - Was bedeutet Destruktor?
Ein Destruktor ist eine spezielle Methode, die bei der Zerstörung eines Objekts automatisch aufgerufen wird. Im Destruktor ausgeführte Aktionen umfassen Folgendes:
- Wiederherstellung des während der Lebensdauer eines Objekts zugewiesenen Heapspeichers
- Schließen von Datei- oder Datenbankverbindungen
- Netzwerkressourcen freigeben
- Aufheben von Ressourcensperren
- Andere Reinigungsaufgaben
Techopedia erklärt Destructor
Destruktoren werden in C ++ explizit aufgerufen. In C # und Java ist dies jedoch nicht der Fall, da die Zuweisung und Freigabe von Speicher für Objekte implizit vom Garbage Collector übernommen wird. Während Destruktoren in C # und Java (als Finalizer bezeichnet) nicht deterministisch sind, wird garantiert, dass C # -Destruktoren von der .NET-Laufzeit aufgerufen werden. Java-Finalizer müssen jedoch explizit aufgerufen werden, da ihr Aufruf nicht garantiert ist.
Die wichtigsten Eigenschaften von Destruktoren lassen sich wie folgt zusammenfassen:
- Automatischer Aufruf und kein expliziter Aufruf vom Benutzercode
- Überladen oder Vererbung nicht erlaubt
- Zugriffsmodifikatoren oder Parameter müssen nicht angegeben werden
- Die Reihenfolge des Aufrufs an den Destruktor in einer abgeleiteten Klasse ist von der am meisten abgeleiteten bis zur am wenigsten abgeleiteten
- Wird nicht nur während der Objektzerstörung aufgerufen, sondern auch, wenn die Objektinstanz nicht mehr für den Zugriff berechtigt ist
- Wird in Klassen aber nicht in Strukturen verwendet
- Wird nur verwendet, um teure nicht verwaltete Ressourcen (wie Fenster, Netzwerkverbindung usw.), die das Objekt enthält, freizugeben, anstatt verwaltete Verweise freizugeben