我有一个类层次结构,如下:
type
TMatrix = class
protected
//...
public
constructor Create(Rows, Cols: Byte);
//...
type
TMinMatrix = class(TMatrix)
private
procedure Allocate;
procedure DeAllocate;
public
constructor Create(Rows, Cols: Byte);
constructor CreateCopy(var that: TMinMatrix);
destructor Destroy;
end;
因此,您可以看到,派生类和基类的构造函数具有相同的参数列表。我从派生类显式调用基类构造函数:
constructor TMinMatrix.Create(Rows, Cols: Byte);
begin
inherited;
//...
end;
在Delphi中,是否有必要显式调用基类构造函数?也许我需要使用overload或override来清楚地表达我的意图?我知道在C++中如何做到这一点 - 只有当您想要将一些参数传递给基类构造函数时,才需要显式调用它 - 但我对Delphi编程没有太多经验。