Sign in Join
Wiki copytemporary

Destructor/de: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Destructor/de

OldNewLine
1+Zurück zu den [[Reserved words/de|reservierten Wörtern]].
2+
3+Das Schlüsselwort <b>destructor</b> gehört zur objektorientierten Programmierung.
4+
5+Ein Destruktor dient dazu, den verwendeten Arbeitsspeicher wieder freizugeben.
6+
7+Der Destruktor ist immer so aufzubauen, dass bei der Freigabe des Speichers der gesamte für die Klasse (das Objekt) angeforderte Speicher freigegeben wird und somit keine Speicherlecks entstehen.
8+
9+D. h. alle Klassen und Objekte die von der eigenen Klasse verwendet werden sind über Ihren Destruktor zu beenden.
10+
11+Beispiel:
12+
13+``` pascal
14+// Klassendefinition
15+type
16+ TKlasse = class
17+ destructor Destroy; override; // Erlaubt es den Destruktor der Elternklasse zu überschreiben
18+ end;
19+
20+// Destruktor der eigenen Klasse
21+destructor TKlasse.Destroy;
22+begin
23+ ...
24+ inherited; // Ruft den Destruktor der Elternklasse auf
25+end;
26+
27+var
28+// Variable vom Typ der Klasse bekannt machen (deklarieren)
29+ meineKlasse: TKlasse;
30+
31+begin
32+ ...
33+ meineKlasse := TKlasse.Create; // Create ruft den Konstruktor der eigenen Klasse auf
34+ meineKlasse.Destroy; // Destroy ruft den Destruktor der eigenen Klasse auf
35+ ...
36+end.
37+```
38+
39+---
40+*From the Free Pascal wiki, page "Destructor/de", as it stood on 2020-02-12 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history