delphi的建構函式的定義是:
constructor create;
delphi的解構函式的定義是:
destructor destroy;
解構函式是不能過載的,但是建構函式是可以過載的。
建構函式在過載的時候要在後面加“overload”,
constructor create;overload;
constructor create(i:integer);overload;
注意,只有兩個建構函式以上才叫過載,只有一個就不用“overload;”了。
預設的建構函式是:constructor create; 如果有過載的話,那麼預設的建構函式後面也要加overload,正象上面的例子一樣。
delphi建構函式在類外定義在什麼位置呢?在implementation的後面。下面給出一個例項,可以從這個例項中看出建構函式的定義:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
TMyForm1 = class(TForm1) //自定義一個TMyForm1類
public
constructor Create; overload; //建構函式有過載
constructor Create(I: Integer); overload; //過載一個建構函式
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
constructor TMyForm1.Create; //這裡定義建構函式
begin
inherited Create(nil); //inherited 表示呼叫父類的建構函式
end;
constructor TMyForm1.Create(I: Integer);
begin
inherited Create(nil);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
A: TMyForm1;
begin
A := TMyForm1.Create(1);
A.Show;
end;
end.