存储不是问题,信息不会丢失的,引用的时候使用子类的类型转换就可以使用子类的全部特性了!
最典型的是Form下的Components,是TComponent类的数组, TComponent是父类,Form下的Button
是子类但一样可以用Components数组来引用如:
for i := 0 to Form1.ComponentCount -1 do
begin
if Components is Tbutton then
TButton(Components).Caption := '按钮'+IntToStr(i);//TComponent没有Caption这个属性,
//但强制将TComponent数组的成员转换成Tbutton后就有了!
end;