begin
 inherited;
  BtnYes.Enabled := (Trim(Edtmm.Text) <> '') and (Trim(EdtName.Text) <> '')
end;
有谁能邦我解释一下吗,
inherited是啥东东
还有下面的一名是啥意思,书上咋没有写呀,

解决方案 »

  1.   

    begin
     inherited;//继承父类的函数行为
      BtnYes.Enabled := (Trim(Edtmm.Text) <> '') and (Trim(EdtName.Text) <> '')
    //如果Edtmm和EdtName都没有字符,则BtnYes为不可用,反之为可用。
    end;
      

  2.   

    : linzhengqun(风) 
    对阿
      

  3.   

    Inherited;
      
      这个词的中文意思是“继承”。我们暂时不要去涉及到太过复杂的OOP概念,只要知道这条语句的功能就是了。它的功能是调用基类中相当的虚拟方法中的代码。例如,你如果使用以下代码:
      
      var
      AObject: TNewClass;
      begin
      AObject := TNewClass.create;
      AObject.One;
      AObject.free;
      end;
      
      那么程序将弹出两次对话框,第一次是调用TMyclass类中的One方法,第二次才是TNewClass.One方法中的代码。
      重载技术使得我们不但可以在派生类中添加基类没有的数据和方法,而且可以非常方便地继承基类中原有方法的代码,只需要简单地加入Inherited就可以了。如果你不加入Inherited语句,那么基类的相应方法将被新的方法覆盖掉。但是必须注意,重载只有在基类的方法被标志为Virtual时才能进行,而且重载的方法必须具有和虚拟方法完全相同的参数类型。
      虚拟方法还有一种特例,即抽象方法:
      
      procedure One;override;abstract;
      
      在One方法后面,不但有override关键字,还多了一个abstract关键字(意为抽象)。这种方法称为抽象方法(在C++中称为纯虚拟函数)。含有抽象方法的类称为抽象类。抽象方法的独特之处在于,它只有声明,而根本没有实现部分,如果你企图调用一个对象的抽象方法,你将得到一个异常。只有当这个类的派生类重载并实现了该方法之后,它才能够被调用。(在C++中,甚至根本就不能建立一个抽象类的实例。)