一 在我映象中,子类继承父类的时候,是默认继承父类所有的方法属性的,这么理解对吗?如果对,为什么在Tobject中定义了constructor create;在Tcomponent中还可以这样定义constructor create(Aowner:Tcomponent);virtual;
二 Tcontrol定义的字段Fcolor为什么不能继承到Tbutton(Tbutton没有color属性)

解决方案 »

  1.   

    1 constructor create(Aowner:Tcomponent);virtual;
     是构造函数,子类的构造函数当然要重新定义
    2继承还分保护,私有,公有等继承,继承后的特点各有不同
    你还是看看相关书吧
      

  2.   

    virtual这个好象叫虚函数吧
    MFC2001(拔剑茫然心四顾) 说的比较对了。
      

  3.   

    先谢谢大侠,我看书也不少了
    1.子类的构造函数也可以不重新定义啊,就是默认使用父类的构造函数,例如Tpersistent就没有,而且重新定义也应该是,把它override啊!
    2.几乎所有的字段都是声明为私有的,而有的字段在Tbutton中就有,而有的就没有,我也没有发现他们在宣布的时候有什么区别
      

  4.   

    1、关于覆盖基类的虚拟构造函数,由于Tcomponent是属于组件的基础类,包含许多新的特性,有必要重新写一个构造虚函数,提供更多特性供子类覆盖时调用。 
    2、关于类内部字段和属性继承的问题,我认为你可以看一下d5的开发指南,子类可以隐藏基类的字段或是属性。