У меня есть два класса, базовый класс и производный класс. Мой базовый класс имеет конструктор этой формы:Проблема наследования конструктора
constructor TBaseClass.CreateFromXML(ANode: IXMLNode);
begin
Create;
//Set members from XML
end;
Мой производный класс имеет конструктор этой формы:
constructor TDerivedClass.Create;
begin
FDatabaseID = -1;
end;
Моя проблема заключается в том, что когда я создаю объект моего производного класса с помощью конструктора из базового класса [TDerivedClass.CreateFromXML(Node);
] Create, вызванный в начале конструктора CreateFromXML, не является одним из моего производного класса, а скорее тем, который унаследован моим базовым классом из TObject.
Возможно ли, чтобы конструктор базового класса вызывал конструктор производного класса, даже если он далее «опускает» цепочку наследования?
Если вам нужно, чтобы производный код выполнялся в определенное время во время создания, вы должны, вероятно, просто использовать событие. Это было бы более элегантно, чем попытка дать базовому классу знания производного класса. –