类引用有点类似可变类型,它可以把其它类型的数据赋给可变类型的变量,
也就是说可变类型可以在运行期间代表不同的数据类型
Type
TControl=Class(TComponent) // 声明类
.....
end;
TComponentRef=Class of TComponent
// 声明一个类引用
TControlRef=Class of TControl
// 声明另一个类引用
var ComponentRef:TComponentRef
// 声明上述两个类引用的变量
ControlRef:TControlRef;
ComponetRef:=TForm
// 凡是TForm能出现的地方,都可以用ComponetRef替代
ControlRef:=TButton;// 凡是TButton能出现的地方,都可以用CotrolRef替代
如:
var MyButton:TControl;
Mybutton:=ControlRef.Create;
类引用的最主要用途就是创建在编译期无法确定类型的对象