Difference between revisions of "Inherited/fr"
From Lazarus wiki
Jump to navigationJump to searchm (Fixed syntax highlighting) |
|||
Line 6: | Line 6: | ||
Ce cas est le plus simple : | Ce cas est le plus simple : | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
Type | Type | ||
TMyClass = Class(TComponent) | TMyClass = Class(TComponent) | ||
Line 21: | Line 21: | ||
== Cas des constructeurs et destructeurs == | == Cas des constructeurs et destructeurs == | ||
Constructeur, Exemple 1 :<br> | Constructeur, Exemple 1 :<br> | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
... | ... | ||
TTest.Create; | TTest.Create; | ||
Line 31: | Line 31: | ||
Constructeur, exemple 2 :<br> | Constructeur, exemple 2 :<br> | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
... | ... | ||
TTest.Create(...); | TTest.Create(...); | ||
Line 42: | Line 42: | ||
Destructeur, exemple 3 :<br> | Destructeur, exemple 3 :<br> | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
TTest.Destroy; | TTest.Destroy; | ||
begin | begin | ||
Line 50: | Line 50: | ||
... | ... | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− |
Latest revision as of 14:13, 17 February 2020
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
русский (ru) │
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;
...