初學者的問題:關於類的方法與類方法的概念(50分)

  • 主题发起人 主题发起人 俊哥
  • 开始时间 开始时间

俊哥

Unregistered / Unconfirmed
GUEST, unregistred user!
請問:1.類的方法與類方法到底有甚麼區別呢?
2.怎樣在類中定義類的方法與類方法呢?
謝謝!
 
可以看看这个:

类方法的使用
  类方法(Class methods)是一类特殊的方法,它们在声明时要以class开头
  type
  TFigure = class
  public
  ...
  class procedure GetInfo(varInfo:TFigureInfo)
virtual;
  ...
  end;
  实现时也以class开头
  class procedureTFigure.GetInfo(varInfo: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;
  即可直接完成调用……是否很爽^_^
 
謝謝vine!解釋十分詳細與深入,謝謝您的幫助!!
 
后退
顶部