Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)aaa
published in(发表于) 2014/7/19 0:11:56
delphi构造函数与析构函数的使用方法

delphi构造函数与析构函数的使用方法|实例

类的继承

继承是指一个对象可以从另一个对象中继承一般特性的能力,然后再添加一些特定的功能。它可以重用常用的代码,因此减少了代码的编写。

例如当建立一个新的窗体时,Delphi 会自动产生代码如下:

type

TForm1=Class(TForm)

end;

构造与析构

在完成了类的封装之后,就可以使用这个类了。具体的步骤如下:

• 声明类的一个变量—这时可以将类作为一种数据类型来看待。

• 调用类的一个特殊函数—构造函数来进行一些初始化工作,比如按照类的结构来分配内存资源,完成对象的创建。

• 对类的实例—对象进行操作、使用。可以修改对象的属性或调用对象的方法。

• 使用完毕,调用类的另一个特殊函数—析构函数,删除创建的对象,同时释放相应的内存资源等。此外,还可以调用Free 过程释放对象占用的资源。

构造函数和析构函数是类定义中两个非常重要的函数,它们完成的功能正好相反,定义也比较特殊。在声明了类的一个变量后,并没有实际创建该类的对象,只是定义了一个指向该类对象的指针,有时也称之为类的引用。

对象的创建和初始化工作是由类的构造函数来完成的。在类的构造函数中,不仅可以根据类的结构为类的对象分配内存空间,而且还可以打开文件或数据库,读取一些初始数据,或者控制一些设备进行复位等。在定义构造函数的时候,不是使用保留字Function,而是使用保留字Constructor,通常函数名使用Create。如果在定义类的时候没有定义构造函数,则系统会自动为该类生成一个默认的构造函数。构造函数必须使用默认的函数调用约定方式,也就是使用Register 指令字方式。程序员可以自定义一个或多个构造函数。自定义的构造函数可以有参数列表,可以重载构造函数。一般在自定义的构造函数的函数体中,在开始部分使用inherited 保留字来调用父类的构造函数。如果在创建并初始化对象时,调用构造函数发生错误,则系统会自动调用析构函数来删除这个没有完成的对象。

析构函数的作用是将对象删除并释放相应的内存资源,此外还可以在这之前保存一些数据信息并关闭文件或数据库等,或者对一些设备进行复位并关机。在定义析构函数的时候,使用保留字Destructor代替通常函数的Function,函数名为Destroy。如果在定义类的时候没有定义析构函数,则系统会自动为该类生成一个默认的析构函数。析构函数也必须使用默认的函数调用约定方式,也就是使用Register指令字方式。

程序员也可以自定义析构函数。通常在自定义的析构函数的函数体中,在结尾部分使用inherited保留字来调用父类的析构函数。在释放对象占用的资源时也可以使用TObject 类的成员Free 过程。使用Free 过程可以删除一个对象,如果该对象不为nil,则会自动调用析构函数。通常在运行时创建的对象应该调用Free 过程来代替析构函数。如果对象没有被初始化,调用析构函数时就会出错,而调用Free 过程就没有问题。


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759