关于类引用(100分)

  • 主题发起人 主题发起人 linli0
  • 开始时间 开始时间
L

linli0

Unregistered / Unconfirmed
GUEST, unregistred user!
type
TClass = class of TObject;
请问这是类引用的定义形式吗?类引用有什么作用呢?主要用在什么地方?有限制吗?
 
这只是类引用的基本语法,具体的问题还需要具体分析,具体地解决!
作用:借用类的属性和方法,添加或修改适合自己需要的‘类’类型!
何时需要,何时使用。没有可依靠的定式!
限制:必须按照类的要求定义属性或方法,不能各行其是!
 
作用:运行时类信息的获得,
类的动态创建
 
类引用是指类的类型。即对类引用变量赋值不是字符串,也不是数值,而是一个类。
如:
type
TForm1 = class(TForm)
CreateButtonBtn: TButton;
CreateLabelBtn: TButton;
procedure CreateButtonBtnClick(Sender: TObject);
procedure CreateLabelBtnClick(Sender: TObject);
private
{ Private declarations }
procedure CreateControl(FClass: TWinControlClass; Cap: String);
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.CreateButtonBtnClick(Sender: TObject);
begin
CreateControl(TButton, 'This is a button');
end;

procedure TForm1.CreateLabelBtnClick(Sender: TObject);
begin
CreateControl(TCheckBox, 'This is a check box');
end;

procedure TForm1.CreateControl(FClass: TWinControlClass; Cap: String);
begin
Randomize;
with FClass.Create(Self) do begin
Parent := Self;
SetWindowText(Handle, PChar(Cap));
Width := 150;
Height := 20;
Left := Random(Self.Width - Width);
Top := Random(Self.Height - Height);
end;
end;

 
应该说学到了,不知现在的C#有没有类似的东东。
 
后退
顶部