當在子類中重載或者重新聲明父類的虛方法時,使用 reintroduce 關鍵字告知編譯器,可以消除警告資訊.
如:
TParent = class
procedure proc;virtual;
end;
TChild = class(TParent)
procedure proc; reintroduce; overload; //重載
//procedure proc; reintroduce; //重新聲明
end;
如果此時沒有reintroduce關鍵字,則會出現如下的警告資訊:
[Warning] Unit1.pas(20): Method 'proc' hides virtual method of base type 'TParent'
典型的應用是,你要改變CREATE的參數,那麼重新聲明的CREATE跟父類的不一樣,是以要REINTRODUCE,實際的函數可能是這個樣子:
Constructor Create(AOwner: TComponent; NewParam: Integer);
begin
Create(AOwner);
... //do something for NewParam