DELPHI 问题

2025-05-15 11:24:37
推荐回答(2个)
回答1:

继承的写法是
myClass=Tclass(Tlabel)
......
这样表示myclass 集成的是 Tlabel.

实例化的写法
myc:=myclass.create(nil);//application,self 等等
关键在于 myc.owner需要谁。。。
如 Tlabel需要在 窗口上create.
T Form需要在 application上create.

回答2:

楼主所示绝非“继承”,而仅仅是某个类在实例化时,由外部调用其构造函数的参数传入问题而已。
xxx := Txxx.create;
// Txxx的构造函数没有参数,或者只有带缺省值的参数

XXX := Txxx.create(self);
XXX := Txxx.create(Application);
// 构造函数要求一个参数,多用于表达包含关系,或称对象组合模式,跟“类的继承”不是一个概念;常见的create的原型是constructor create( Owner: TComponent ),因Component的析构函数实现了自动析构以它为Owner(宿主)的子Component,故能简化某些程序的编写,即只需要自主显示地构造,而不必显示地析构。