Destructor (informatica)
Een destructor is in sommige object-georiënteerde programmeertalen een soort methode van een klasse die wordt aangeroepen net voordat een instantie van die klasse uit het geheugen verwijderd wordt. Niet alle object-georiënteerde programmeertalen kennen een destructor: C++ heeft bijvoorbeeld wel destructors, maar Java weer niet.
De tegenhanger van een destructor is een constructor die uitgevoerd wordt wanneer het object wordt aangemaakt.
Voorbeeld
In C++ ziet een destructor er zo uit:
#include <iostream> using namespace std; class Shape { public: Shape() { cout << "Shape" << endl; } virtual ~Shape() { cout << "~Shape" << endl; } }; class Circle: public Shape { public: Circle() { cout << "Circle" << endl; } virtual ~Circle() { cout << "~Circle" << endl; } }; int main(int argc, char** argv) { Shape* shape = new Circle(); cout << "Shape gemaakt" << endl; delete shape; cout << "Shape verwijderd" << endl; }
De uitvoer van dit programma is dan ook:
Shape Circle Shape gemaakt ~Circle ~Shape Shape verwijderd
De 'methodes' met de tilde (~) ervoor zijn in C++ destructors. Omdat ze virtual zijn, wordt de destructor van Shape aangeroepen nadat die van Circle is aangeroepen.
This article is issued from
Wikipedia.
The text is licensed under Creative
Commons - Attribution - Sharealike.
Additional terms may apply for the media files.