WikiDer > Destruktor (Informatik)

Destructor (informatica)

EIN Zerstörer ist in einigen objektorientiertenProgrammiersprachen eine Spezies Methode von a Klasse die aufgerufen wird, kurz bevor eine Instanz dieser Klasse aus dem Speicher entladen wird. Nicht alle objektorientierten Programmiersprachen haben einen Destruktor: C hat zum Beispiel Destruktoren, aber Java wieder nicht.

Das Gegenstück eines Destruktors ist a Konstrukteur die ausgeführt wird, wenn das Objekt erstellt wird.

Beispiel

In C sieht ein Destruktor so aus:

#include 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 << "Form erstellt" << endl; Form löschen; cout << "Form entfernt" << endl;}

Die Ausgabe dieses Programms ist daher:

ShapeCircleShape erstellt~Circle~ShapeShape entfernt

Die 'Methoden' mit der Tilde (~) davor sind in C Zerstörer. Weil sie virtuell werde der Zerstörer von gestalten genannt nach dem von Kreis genannt worden.