Registriert seit: 31. Mai 2009
1.198 Beiträge
Turbo Delphi für Win32
|
AW: Der Konstruktor ist abgestürzt - Wie gehe ich im Destruktor am besten vor?
11. Apr 2013, 18:30
Also ich finde, dass es eig. ok ist, im Konstruktor die Objekte zu erzeugen. Ein absolut wichtiger Punkt beim sauberen Design - neu aufgeschnapt übrigens xD - jedoch ist, dass man nichtsa außer Instanzierung im Konstruktor betreibt - also keine Initialisierung über Methoden oder dergleichen.
Das Problem ist nämlich, wenn man bsp. eine virtuelle Methode zum initialisieren verwendet, kann und wird die von erbenden Klassen überschrieben werden. Üblicherweise hat man aber keine Kontrolle über die Implementierung dieser - dh. die überschreibende (initialisier-) Methode kann fälschlicherweise auf Felder/Objekte der Klasse zugreifen, die jedoch noch nicht initialisiert worden sind, weil die Methode eben erst im Konstruktor aufgerufen wird.
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
|