Inhoudsopgave:
Definitie - Wat betekent Destructor?
Een destructor is een speciale methode die automatisch wordt genoemd tijdens de vernietiging van een object. Acties uitgevoerd in de destructor omvatten het volgende:
- De toegewezen heapruimte herstellen tijdens de levensduur van een object
- Bestand- of database-verbindingen sluiten
- Netwerkbronnen vrijgeven
- Resource-vergrendelingen vrijgeven
- Andere huishoudelijke taken
Techopedia legt Destructor uit
Destructors worden expliciet in C ++ genoemd. In C # en Java is dit echter niet het geval, omdat de toewijzing en vrijgave van geheugen toegewezen aan objecten impliciet worden afgehandeld door de vuilnisman. Hoewel destructors in C # en Java (finalizers genoemd) niet-deterministisch zijn, wordt C # destructors gegarandeerd aangeroepen door de .NET-runtime. Java-finalizers moeten echter expliciet worden aangeroepen, omdat hun aanroep niet kan worden gegarandeerd.
De belangrijkste eigenschappen van destructors kunnen als volgt worden samengevat:
- Automatische aanroep en geen expliciete oproep van gebruikerscode
- Overbelasting of overerving niet toegestaan
- Toegang tot modificaties of parameters die niet moeten worden gespecificeerd
- Volgorde van de vernietiger in een afgeleide klasse is van de meest afgeleide naar de minst afgeleide klasse
- Niet alleen aangeroepen tijdens de objectvernietiging, maar ook wanneer de objectinstantie niet langer in aanmerking komt voor toegang
- Gebruikt in klassen maar niet structs
- Wordt alleen gebruikt om dure onbeheerde bronnen (zoals Windows, netwerkverbinding, enz.) Vrij te geven die het object bevat, in plaats van voor het vrijgeven van beheerde referenties