天天看點

delphi reintroduce作用

 當在子類中重載或者重新聲明父類的虛方法時,使用 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

繼續閱讀