Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Object via Typecast erzeugen

  Alt 1. Sep 2009, 17:08
Zitat von Zerolith:
Wenn TxObject.Constructor = virtuell =>

- TxUser MUSS einen überschriebenen Constructor (mit inherited) haben
- TxObjects' Constructor WIRD aufgerufen.
- TxdbObject Constructor WIRD NICHT aufgerufen?
Du denkst viel zu kompliziert. Der Compiler ruft per se nie geerbte Konstruktoren auf. Die inherited-Klausel bewirkt das, es muss also explizit angegeben werden. Wenn du in TxObject wieder inherited aufrufst, wird TxdbObject.Create aufgerufen.
Des Weiteren musst du virtuelle Methoden oder Konstruktoren nicht überschreiben. Dies wäre lediglich der Fall bei abstrakten Methoden. Wenn kein expliziter Override angegeben wird, nimmt der Compiler einfach den der Elternklasse (d.h. hier TxObject).
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat