【发布时间】:2010-08-04 12:01:55
【问题描述】:
我有两个类,一个基类和一个派生类。我的基类有一个这种形式的构造函数:
constructor TBaseClass.CreateFromXML(ANode: IXMLNode);
begin
Create;
//Set members from XML
end;
我的派生类有一个这种形式的构造函数:
constructor TDerivedClass.Create;
begin
FDatabaseID = -1;
end;
我的问题是,当我使用基类 [TDerivedClass.CreateFromXML(Node);] 的构造函数创建派生类的对象时,在 CreateFromXML 构造函数开头调用的 Create 不是派生类中的对象,而是一个由我的基类从 TObject 继承。
是否有可能让基类构造函数调用我的派生类构造函数,即使它进一步“向下”继承链?
【问题讨论】:
-
如果您需要派生代码在创建期间的某个时间执行,您可能应该只使用一个事件。这比试图提供派生类的基类知识更优雅。
标签: delphi