类引用(TClassACls)就是类(TClassA)的类型,可以声明一个类引用变量(T)并赋给它一个子类(TClassB),可以通过这个变量创建对象的实例(T.Create)

unit Unit1;
{
  * created by HouSoft
  * 2011/12/21
  * www.yryz.net
}
interface
uses
  Sysutils;

type
  // 定义TClassA 的引用
  TClassACls = class of TClassA;

  TClassA = class
    procedure Test; virtual; abstract;
  end;

  TClassB = class(TClassA)
    procedure Test; override;
  end;
implementation

{ TClassB }

procedure TClassB.Test;
begin
  WriteLn(ClassName);
end;

procedure Test;
var
  T                 : TClassACls;
  TC                : TClassA;
begin
  T := TClassB;                         //类引用
  TC := T.Create;

  WriteLn(TC.ClassName);                // 输出 TClassB
  TC.Test;                              // 输出 TClassB

  Sleep(MaxInt);
end;

initialization
  Test;

end.

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-04
  • 2022-12-23
  • 2022-02-01
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-20
  • 2022-12-23
  • 2021-08-08
  • 2022-12-23
相关资源
相似解决方案