AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Verwirrung mit override/overload bei Constructoren
Thema durchsuchen
Ansicht
Themen-Optionen

Verwirrung mit override/overload bei Constructoren

Ein Thema von hsg · begonnen am 13. Jun 2007 · letzter Beitrag vom 14. Jun 2007
 
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Verwirrung mit override/overload bei Constructoren

  Alt 13. Jun 2007, 14:23
Zitat von Robert Marquardt:
Brauchst du wirklich zwei Konstuktoren? Geht es nicht vielleicht nur mit dem zweiten und einem Parameter mit Defaultwert?

Es ist ganz klar was bei "inherited Create(AOwner)" aufgerufen wird. Es wird der Konstruktor von TMyForm aufgerufen. Falls Du dort nicht ebenfalls an den Konstruktoren spielst, hat diese Klasse nur einen Konstruktor. Selbst wenn es mehrere Konstruktoren gibt, sichert Delphi ab das es immer eindeutig bleibt. es gibt Fehlermeldungen falls die Deklaration der overloaded Konstruktoren/Methoden nicht eindeutig ist.
Sorry, dass sind meine C++-Altlasten, es ist mir klar, dass man das ganze auch anders lösen kann
Es wird nun langsam Licht im Dunkeln. TMyForm hat nur einen Konstruktor, von daher ist ab da für Delphi wieder alles klar.

Mir ist nur nicht klar, warum die Reihenfolge "overload; override;" für Delphi wichtig ist. Aber eigentlich verdeckt doch ein "overload" den originalen Konstruktor, oder nicht?
Von daher hätte ich erwartet, dass eine Kombination von beiden gar nicht zulässig sein dürfte, oder?

Zitat von SirThornberry:
überschreiben des alten constructors muss sein damit die ide weiterhin den TComponent-Nachfahren erzeugen kann.
Allerdings würde ich das dann auch etwas anders machen. Und zwar im überschriebenen Constructor einfach den neuen Constructor aufrufen
Delphi-Quellcode:
constructor TTextEditor.Create(AOwner : TComponent);
begin
  Create(AOwner, StandardwertFuerlNEm);
end;
Hmmmm, irgendwie habe fehlt mir bei diesem Konstrukt die (visuelle) Information, dass es sich dann um den Konstruktor der Elternklasse handelt.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz