2 VCL中多态的应用
2.1构造与析构方法
构造方法的多态
由于构造方法可以看作“特殊的”类方法,在Tcomponent之后的所有的派生类的又被重新定义为虚类方法,因此要实现构造方法的多态性,就得使用类引用,在Delphi中有个经典的例子,就在每一个工程文件中都有一个类似下面的代码:
Application.CreateForm(TForm1, Form1);
其方法的定义:
procedure TApplication.CreateForm(InstanceClass: TComponentClass; var Reference);
var// InstanceClass为类引用。
Instance: TComponent;
begin
Instance := TComponent(InstanceClass.NewInstance);
{NewInstance方法的声明:class function NewInstance: TObject; virtual; (system单元 432行)是一个类方法,同时也是虚方法,我们把它称之为虚类方法。InstanceClass是一个类引用,实现了类一级的多态,从而实现了创建组件的接口重用}
TComponent(Reference) := Instance;
try
Instance.Create(Self);//调用构造方法,进行初始化
except
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/