Einzelnen Beitrag anzeigen

Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#32

AW: liege ich richtig mit dem OOP-Versuch

  Alt 31. Dez 2016, 14:55
Kurz. Den Destructor muss man nur überschreiben, wenn man selber in der Klasse Objekte erstellt, die freigegeben werden müssen. Und dann ruft man ganz zu Anfang im Code vom Destructor inherited auf, um den Destructor der Elternklasse aufzurufen und dann gibt man seinen Kram frei.
An welcher Stelle im Destruktor dieses inherited {destroy} korrekt placiert ist, weiß ich bis heute nicht.

Ich tat es bisher am Ende des Destroys, weil in der Delphi-Hilfe (Delphi 3) folgendes Codebeispiel enthalten ist:

Zitat:
Im folgenden Beispiel sehen Sie, wie der im vorhergehenden Abschnitt für die Klasse TShape deklarierte Destruktor implementiert werden kann:
Delphi-Quellcode:
destructor TShape.Destroy;
begin
 FBrush.Free;
 FPen.Free;
 inherited Destroy;
end;
Die letzte Aktion eines Destruktors ist normalerweise der Aufruf des geerbten Destruktors, mit dem die geerbten Felder des Objekts freigegeben werden.
Was stimmt denn nun?
  Mit Zitat antworten Zitat