Delphi中的构造函数

Delphi中的类都继承自TObject,Create默认非虚,Destroy默认虚。在VCL组件中,Create经常被声明为虚方法。构造函数Create和析构函数Destroy在很多情况下是可覆盖的虚或动态方法。
摘要由CSDN通过智能技术生成
 

Delphi中所有类都继承自TObject ,Create默认不是虚方法 ,Destroy默认是虚方法.
VCL中组件继承的大多Create都被声明成虚方法了。

在Delphi当中构造函数当中的create与析构函数destroy大部分都是虚方法.可以覆盖.
被覆盖的函数必须是虚(virtual)的,或者是动态(dynamic)的.
 
(Constructors)构造函数,

  用来创建和初始化一个实例对象,  构造函数返回的 对象的引用. 初始化对象是基于传给构造函数的参数值.
 当类引用调用构造函数时,若执行过程中发生异常,则自动调用析构函数destroy来销毁不完整的对象.
  声明为虚方法的构造函数,和声明为静态时时相同的.虚构造函数允许使用多态.
  构造函数的初始化过程:
 1.它在堆中为对象分配内存,并设置所有的有序类型的字段为0,把nil赋值给所有的指针和类类型的字段.使所有的字符串类型的字段为空.
 2.构造函数中指定的其他动作(命令)开始执行.
  在派生类中构造函数的初始化过程:
 1.调用继承下来的构造函数,对继承的字段进行初始化.
 2.然后对派生类中新引入的字段进行初始化.
    (以为构造函数总是把新对象分配的内存进行"清零"<clear>,所以,对象的所有字段开始时都是0<有序类型>,nil<指针和类>,空<字符串>或者unasslgned<变体类型>.所以,除非字段的值不为0或者空值,我们没有必要在构造函数当中初始化各字段);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值