有关构造函数(50分)

  • 主题发起人 主题发起人 yz_qing
  • 开始时间 开始时间
Y

yz_qing

Unregistered / Unconfirmed
GUEST, unregistred user!
想请问各位富翁:Constructor Create(AOwner:TComponent);override;
该语句是在什么情况下使用的?
 
当你要在继承的子类中初始化某些东西的时候使用。
 
能不能更详细的说一下,最好举个例子行不
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
private
{ Private declarations }
public
constructor Create(Aonwer:TComponent);override;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
{ TForm1 }
constructor TForm1.Create(Aonwer: TComponent);
begin
inherited create(Aonwer);
font.Name:='宋体';
font.Size :=12;
end;
 
比如说你要打开一个窗体,并且想让窗体中的Edit1.TEXT等于你在调用窗体中赋给的值,加参数传进来就可以了
Constructor Create(Str: String; AOwner:TComponent);
 
添加窗体构造器(Add Form Constructors)
在运行时创建的第二个窗体除了一个默认的构造器(从Tcomponent 类继承而来)外还会提供其他特殊的构造器。如果你不需要考虑和Delphi4以前的版本的兼容性问题,我建议你重载(Overload)Create方法,添加必要的初始化参数。具体代码可参见下面的代码:

Public
Constructor Create(Text:string): reintroduce ; overload;
Constructor TformDialog.Create(Text:string);
Begin
Inherited Create(Application);
Edit1.Text:=Text;
End;



 
石斑鱼:我怎么看不懂你说得话呢?
 
构造函数在创建类的实例时使用。
例:
var Form1:TForm1;
Form1:=TForm1.Create(Self);//创建一个TForm1的实例Form1。

Highpeak和怡.梦给了一个构造函数过程例子。
石斑鱼:给了一个自定义构造函数的定义。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
927
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部