delphi的構造函數和析構函數


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.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM