delphi中类引用的使用实例
类引用
类引用(Class Reference)是一种数据类型,有时又称为元类(MetaClass),是类的类型的引用。类引用的定义形式如下:
class of type 例如:
type SomeClass = class of TObject;
var AnyObj: SomeClass; 下面的例子说明了类引用的用法:
program Project1;
{$APPTYPE CONSOLE}
type
TPerson = class //人员类
Name: string; //姓名
end;
TEmployee = class(TPerson) //职员类
DeptName: string; //部门名称
procedure Infor; //显示职员信息
end;
CRef = class of TObject; //定义了一个"类引用"数据类型
var
Employee: array[0..1] of TObject; //类的变量数组
i: Integer; //循环变量
CR:array[0..1] of CRef; //类引用数组
{TEmployee }
procedure TEmployee.Infor;
begin
Writeln(’姓名:’,Name,’;部门名称:’,DeptName);
end;
begin
CR[0]:=TPerson; //给类引用赋值
CR[1]:=TEmployee;
for i:=0 to 1 do
begin
Employee[i]:=CR[i].Create; //创建对象
if Employee [i] is TEmployee then //判断对象的类型
begin
(Employee[I] as TEmployee).Name:=’残月’ ;
(Employee[I] as TEmployee).DeptName:=’人事部’ ;
(Employee[I] as TEmployee).Infor;
end;
end;
Readln;
end. 运行结果如下:
姓名:残月;部门名称:人事部 注意:上面定义了一个类引用类型的数组,其中的两个元素的数值分别为不同的两个类的类型。