myamanda

博客园 首页 新随笔 联系 订阅 管理
类方法(Class methods)是一类特殊的方法,它们在声明时要以class开头  
   type  
 TFigure = class  
 public  ... 
  class procedure GetInfo(var Info: TFigureInfo); 
virtual;  
 ...  
 end;   
  实现时也以class开头  
 class procedure TFigure.GetInfo(var Info: TFigureInfo);  
 begin 
  ... 
  end;  
 (具体意义请自行查看帮助)    
  乍一看好象平时没有遇到过这个东东,也没有看到过谁用过这个东东,好象这个东东也没有什么大作用,其实不然……  比如我们有时为输入密码或其他常用数据专门做一个form,但由于其代码都在form定义的unit里面,所以在使用时仅仅需要几行代码,比如
  with TfrmPassword.Create(nil) 
do   
try 
  ShowModal;  
 finally  
 Free;  
 end;   
  虽然这样的代码已经很简洁,但如果写个十七八个还是很讨厌的。利用类方法可以使其更简洁! 
一行足以……  
TfrmPassword = class(TForm)  
 ...   
public 
  { Public declarations }   
class function Execute: TModalResult;   
end;  
 ... 
  class function TfrmPassword.Execute: 
TModalResult;  
 begin 
  with TfrmPassword.Create(nil) 
do  
 try   
 Result := ShowModal;  
 finally 
  Release; //注意此处必须为release不能为free!  
 end;  
 end;  
然后只用一行   
  TfrmPassword.Execute;
posted on 2009-07-31 10:01  myamanda  阅读(149)  评论(0)    收藏  举报