Inherited

From Free Pascal wiki

Deutsch (de) English (en) suomi (fi) français (fr)


In an overridden virtual method, it is often necessary to call the parent class’ implementation of the virtual method. This can be done with the inherited reserved word. Likewise, the inherited keyword can be used to call any method of the parent class.

This case is the simplest:

Type  
  TMyClass = Class(TComponent)  
    Constructor Create(AOwner : TComponent); override;  
  end; 

Constructor TMyClass.Create(AOwner : TComponent);  
begin  
  Inherited;  
  // Do more things  
end;

constructors and destructors case

Constructor, example 1 :

  ...
  TTest.Create;
  begin
    Inherited; // Always at the beginning of the constructors and start the constructor (code only) of the parent class
    ...
  end;

Constructor, example 2 :

  ...
  TTest.Create(...);
  begin
    Inherited Create(...); // Always at the beginning of the constructors and start the constructor (code only) of the parent class
    ...
  end;
  ...

Destructor, example 3 :

  TTest.Destroy;
  begin
    ...
    Inherited;  // Always at the end of the destructors and start the destructor (code only) of the parent class
  end;
  ...