創建一個繼承自另一個類的類時,是否應該在派生類創建時調用基類的構造函數?Delphi XE2 - 繼承類不調用基類的構造函數...?
Type
TBase = Class
constructor xMain;
End;
TDerived = Class(TBase)
constructor xMain;
End;
constructor TBase.xMain;
begin
MessageBox(0,'TBase','TBase',0);
end;
constructor TDerived.xMain;
begin
MessageBox(0,'TDerived','TDerived',0);
end;
Var
xTClass:TDerived;
begin
xTClass := TDerived.xMain;
end.
我認爲這應該導致MessageBox顯示「TBase」,然後「TDerived」。然而,事實並非如此。當上面的代碼運行時,它只會導致一個MessageBox顯示「TDerived」。
您應該爲構造函數創建即使語言本身並沒有強迫你這樣做。 –