Delphi 类方法和普通方法的区别 .

时间:2023-11-10 14:45:26

//类声明
  TMyClass = class
  public
    class procedure MyProc;  //类方式
    constructor Create;      //Create 也是类方法
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TMyClass }

constructor TMyClass.Create;
begin
  inherited;
  MyProc;  //内部调用类方法
end;

class procedure TMyClass.MyProc;
begin
  ShowMessage('ok');  //类方法实现
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  MyClass1: TMyClass;
begin
     TMyClass.MyProc;  //用类名调用类方法,显示:ok  <SPAN style="COLOR: #ff0000">只有类方法才能 直接用类 调用
</SPAN>  MyClass1 := TMyClass.Create;  //内部调用类方法,显示:ok      <SPAN style="COLOR: #ff0000">构造</SPAN>                             
  MyClass1.MyProc;  //对象调用类方法,显示:ok      <SPAN style="COLOR: #ff0000">类方法 也可以用 对象 调用
</SPAN>  MyClass1.Free;
end;