Does every Class we create in Delphi need to have destructor?
在Delphi应用程序中创建自定义类时,我使用标准过程:
1 2 3 4 5 6 7 8 9 10 11 12 | TCustomClass = Class private var1,var2 : integer/string/Real/Boolean... procedure P1... function F1... public constructor Create; end; ... CustomClass := TCustomClass.create; |
我想知道,当应用程序关闭时,我是否总是必须同时创建析构函数过程,或者资源是否自动释放?
我总是使用应用程序作为所有者,很少是self或nil,而且我不记得在我在Internet上看到的类上有人声明析构函数,除了有人使用指针的时候。
在Delphi中,析构函数后面的逻辑与C++中所描述的一样吗?
每个类都应该有一个虚拟析构函数吗?
事先谢谢。
Eddi1:正如免费咨询提到的,我忘记说其中一个变量可能是tbitmap类型
它只需要有一个析构函数,如果你需要清理一些东西,比如分配的内存。例如,如果在构造函数中使用了tclassname.create(…),则需要在析构函数方法中释放。
当然,有很多不同的原因需要一个析构函数(一直到通知用户他的数据即将被擦除为止),但这是最常见的一个。