Mike 发表于 2021-7-31 10:33:02

delphi reintroduce作用

当在子类中重载或者重新声明父类的虚方法时,使用  reintroduce   关键字告知编译器,可以消除警告信息.
如:


   TParent   =   class
         procedure   proc;virtual;
   end;

   TChild   =   class(TParent)
         procedure   proc;   reintroduce;   overload;   //重载
         //procedure   proc;   reintroduce;   //重新声明
   end;   如果此时没有reintroduce关键字,则会出现如下的警告信息:  
  
   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


文档来源:51CTO技术博客https://blog.51cto.com/u_15317185/3224748
页: [1]
查看完整版本: delphi reintroduce作用