procedure mathod;
begin
  inherited mathod;
  ...
end;
/////////////////
procedure mathod;
begin
  ...
  inherited mathod;
end;
//问题:inherited什么时候放在前面或后面有什么原则吗?

解决方案 »

  1.   

    你什么时候要调用inherited的方法,就把它放在那里就行了!没有什么原则。
      

  2.   

    从具体到一般找规律:
    构造函数如果要继承,一般是inherited在最先,原因是必须先用父类的构造函数分配必须的内存,再初始化该类的一些参数或资源
    析构函数一般是inherited在最后,原因是必须先将该类中的资源释放,再用父类的析构函数释放类占用的内存大概明白它的规律了吗??
      

  3.   

    李维的<Inside VCL>讲的非常清楚.
      

  4.   

    agree linzhengqun(风)
    构造函数如果要继承,一般是inherited在最先,原因是必须先用父类的构造函数分配必须的内存,再初始化该类的一些参数或资源
    析构函数一般是inherited在最后,原因是必须先将该类中的资源释放,再用父类的析构函数释放类占用的内存
      

  5.   

    procedure mathod;
    begin
      inherited mathod;
      ...
    end;
    一般在create过程调用父类中的方法,再加上一些其他方法
    /////////////////
    procedure mathod;
    begin
      ...
      inherited mathod;
    end;
    一般是在销毁时,最后调用父类中的方法
    函数或过程中也有这样的用法,不过在构造函数和销毁函数中最好理解用意