Inherited/fr

From Lazarus wiki

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


Dans une méthode virtuelle, il est souvent nécessaire d'appeler l'implémentation de la méthode virtuelle de la classe parent. Ceci peut être fait avec le mot-clé inherited. De la mêm façon, le mot-clé inherited peut être employé pour toute méthode de la classe parent.

Ce cas est le plus simple :

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

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

Cas des constructeurs et destructeurs

Constructeur, Exemple 1 :

  ...
  TTest.Create;
  begin
    Inherited; // Toujours au début des constructeurs et démarre le constructeur (code seulement) de la classe parent
    ...
  end;

Constructeur, exemple 2 :

  ...
  TTest.Create(...);
  begin
    Inherited Create(...); // Toujours au début des constructeurs et démarre le constructeur (code seulement) de la classe parent
    ...
  end;
  ...

Destructeur, exemple 3 :

  TTest.Destroy;
  begin
    ...
    Inherited;  // Toujours à la fin des destructeurs et démarre le destructeur (code seulement) de la classe parent
  end;
  ...