zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    02-35 scikit-learn库之支持向量机
    C#当中的out关键字(借鉴于CSDN)
    Uploadify上传大文件
    EF-基础用法
    第一节:EasyUI样式,行内编辑,基础知识
    Compute和Linq的Field使用
    leetcode-15. 三数之和-OK
    C#启动时全屏显示窗体...
    C#启动时全屏显示窗体...
    leetcode-1117. H2O 生成
  • 原文地址:https://www.cnblogs.com/convert/p/3102069.html
Copyright © 2011-2022 走看看