Zitat von
Vjay:
Aber müsste nicht der neue constructor den alten trotzdem (rein logisch gesehen) verdecken?
Nicht, wenn der neue Konstruktor mit
override deklariert wurde.
Dann muss aber auch die Signatur, also Anzahl und Datentypen der Übergabeparameter, immer so sein, wie das in der Basisklasse einmal festgelegt wurde.
Delphi-Quellcode:
TBaseObject = class(...)
constructor Create; virtual;
...
end;
TExtendedObject = class(TBaseObject)
constructor Create; override;
...
end;
TExtendedObject2 = class(TBaseObject)
constructor Create; override;
...
end;
Man kann sich das alles aus der TComponent Hierarchie abschauen.