当我在Delphi应用程序中创建自定义类时,我使用标准程序:
TCustomClass = Class
private
var1,var2 : integer/string/Real/Boolean...
procedure P1...
function F1...
public
constructor Create;
end;
...
CustomClass := TCustomClass.create;
我想知道我是否还必须创建Destructor程序或者在应用程序关闭时自动释放资源?
我总是使用Application作为所有者,很少使用Self或Nil而且我不记得我看到有人在我在Internet上看到的类上声明了析构函数,除非有人使用指针。
在这个问题中描述的Delphi中的析构函数与C ++中的逻辑相同:
Should every class have a virtual destructor?
提前致谢。
EDIT1: 正如Free Consulting所提到的,我忘了说其中一个变量可能是TBitmap类型
答案 0 :(得分:3)
如果你需要清理一些东西,比如分配的内存,它只需要一个析构函数。例如,如果在构造函数中使用了TClassname.Create(...),则需要在析构函数方法中释放。
当然,可能有许多不同的理由需要析构函数(一直到告知用户他的数据即将被擦除),但这是最常见的一个。