Copie du wikimiroir

Ceci est un miroir du wiki de pascal.chat. La modification, l’historique et la connexion se trouvent là-bas.

Inherited/fr

Deutsch · English · Français · Suomi · Русский

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 :

pascal
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 :\

pascal
  ...
  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 :\

pascal
  ...
  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 :\

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

From the Free Pascal wiki, page "Inherited/fr", as it stood on 2020-02-17 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Version 2, dernière modification par WikiArchive .