是否必须在构造函数的第一行上具有Inherited?
我可以在"继承"之前使用其他代码吗?
例:
constructor TMyIniFile.Create(SectionName: string);
VAR Path: string;
begin
Path:= UserProfileFolder; //initialize path here
inherited Create(Path);
//more code ..
end;
Run Code Online (Sandbox Code Playgroud)
Delphi的对象模型(与C++对象模型相比)的一个优点是,作为程序员,您可以决定何时调用继承的构造函数.您在问题中显示的代码非常安全.
此外 - 您可以毫无问题地使用实例字段,即.
CONSTRUCTOR TSomeClass.Create;
BEGIN
FSomeInstanceField:=123;
INHERITED Create;
END;
Run Code Online (Sandbox Code Playgroud)
这将调用继承的构造函数,该构造函数将有权访问FSomeInstanceField变量的修改值.
| 归档时间: |
|
| 查看次数: |
150 次 |
| 最近记录: |