J'ai deux classes, une classe de base et une classe dérivée. Ma classe de base a un constructeur de ce formulaire:Problème d'héritage de constructeur
constructor TBaseClass.CreateFromXML(ANode: IXMLNode);
begin
Create;
//Set members from XML
end;
Ma classe dérivée a un constructeur de ce formulaire:
constructor TDerivedClass.Create;
begin
FDatabaseID = -1;
end;
Mon problème est que lorsque je crée un objet de ma classe dérivée en utilisant le constructeur de la classe de base [TDerivedClass.CreateFromXML(Node);
] le Create appelé au début du constructeur CreateFromXML n'est pas celui de ma classe dérivée, mais plutôt celui hérité par ma classe de base de TObject.
Est-il possible d'obtenir que le constructeur de la classe de base appelle mon constructeur de classe dérivé même s'il est plus bas que la chaîne d'héritage?
Si vous avez besoin d'un code dérivé à exécuter à un certain moment lors de la création, vous devez probablement utiliser un événement. Ce serait plus élégant que d'essayer de donner à la classe de base les connaissances de la classe dérivée. –