INHERITED |
Hérité |
---|---|
Delphi/Kylix/Lazarus |
Syntaxe
Inherited method; |
Paramètres
Nom | Description |
---|---|
method | Ce paramètre permet d'indiquer le nom de la méthode parente |
Description
Ce mot réservé permet de faire référence à sa méthode parent dans la POO (Programmation Orienté Objet). Ainsi, une méthode d'une classe dérivée peut appeler une méthode de sa classe de base en faisant précéder l'appel de la méthode avec le mot réservé inherited au lieu d'une référence à un objet. Pour appeler une procédure héritée avec le même nom et les mêmes paramètres, vous pouvez utiliser le mot réservé vide (inherited;). Pour appeler une fonction héritée, utiliser des paramètres différents ou appeler une méthode différente, vous devez fournir le nom de la méthode et les paramètres comme dans un appel de méthode normal.
Remarques
- La plupart des constructeurs appellent le constructeur hérité au début de la méthode. La plupart des destructeurs appellent le destructeur hérité à la fin.
- Soyez conscient des besoins de votre classe dérivée. Certaines méthodes étendent le comportement de la classe de base et d'autres méthodes remplacent le comportement de l'ancêtre.
- Sans paramètres, le mot réservé inherited appelle la même méthode nommée la classe parente, avec les mêmes paramètres. Ainsi, dans un gestionnaire de messages, l'utilisation du mot réservé inherited; appelle le gestionnaire de messages pour le gestionnaire sage (pour le même numéro de message, hérité des appels hérités, DefaultHandler. Notez que le gestionnaire de messages de l'ancêtre peut avoir un nom de méthode différent et qu'il peut même s'agir d'une méthode privée.
- Si vous utilisez le mot réservé inherited; et que la classe ancêtre n'a pas de méthode du même nom, alors Delphi ignore l'instruction inherited.
- On peut appeler inherited au début d'un constructeur et à la fin d'un destructeur. Ce n'est pas obligatoire, mais recommandé comme bonne pratique.
Exemple
L'exemple suivant permet d'indiquer comment hérité de la fonction RetourA et du constructeur Create :
- Program inheritedsamples;
-
- {$APPTYPE CONSOLE}
-
- Uses
- SysUtils;
-
- Type
- A=Class
- Public
- Constructor Create;
- Function Retour:String;
- Function RetourA:String;
- End;
-
- B=Class(A)
- Public
- Constructor Create;
- Function Retour:String;
- Function RetourA:String;
- End;
-
- Constructor A.Create;Begin
- WriteLn('Constructeur A');
- End;
-
- Function A.Retour:String;Begin
- Retour := 'A';
- End;
-
- Function A.RetourA:String;Begin
- RetourA := 'A';
- End;
-
- Constructor B.Create;Begin
- Inherited;
- End;
-
- Function B.Retour:String;Begin
- Retour := 'B';
- End;
-
- Function B.RetourA:String;Begin
- RetourA := inherited RetourA;
- End;
-
- Var
- MaClass:B;
-
- BEGIN
- MaClass := B.Create;
- WriteLn(MaClass.Retour);
- WriteLn(MaClass.RetourA);
- END.
on obtiendra le résultat suivant :
Constructeur AB
A
Voir également
Langage de programmation - Programmation Orientée Objet (POO) - Accueil
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Class
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Constructor
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Destructor
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Function
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Object
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Overload
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Override
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Procedure