Einzelnen Beitrag anzeigen

Roachford
(Gast)

n/a Beiträge
 
#32

Re: Konstruktor Create Virtual oder nicht?

  Alt 23. Sep 2008, 08:46
Da die Destruktoren und Konstruktoren in TObject leer sind, benötigst du es nicht unbedingt. Aber damit hast du auch wieder einen möglichen Fehler geschaffen: Wenn du später mal zwischen TObject und deiner Klasse eine weitere Basisklasse dazwischenschiebst, dann werden deren Konstruktoren- und Destruktorenanweisungen nicht ausgeführt. Und das suchste denn ein paar Wochen nach der Deklaration der ersten Klasse vergeblich, warum das nicht klappt.

Der Speicher für die Instanz wird eh vor dem Konstruktoraufruf alloziiert, somit brauchst du nicht zu fürchten, dass die Instanz nicht komplett ist ohne den inherited Aufruf.

Im Endeffekt bist du mit dem inherited Aufruf auf der sicheren Seite.

BTW: Deine Initialisierung im Konstruktor ist nicht zwingend notwendig, da Member automatisch mit dem Ordinalwert 0 initialisiert werden, also nil, false, 0.0, 0, #0 und '' (wobei Strings eine kleine Ausnahme bilden).
  Mit Zitat antworten Zitat