Méthodes virtuelles

De RAD Studio
Aller à : navigation, rechercher

Remonter à Répartition des méthodes


Les méthodes virtuelles emploient un mécanisme de répartition plus compliqué et plus souple que les méthodes statiques. Une méthode virtuelle peut être redéfinie dans des classes descendantes, mais est toujours appelée dans la classe ancêtre. L'adresse d'une méthode virtuelle n'est pas déterminée lors de la compilation ; à la place, l'objet où la méthode est définie donne l'adresse lors de l'exécution.

Pour qu'une méthode soit virtuelle, ajoutez la directive virtual après la déclaration de la méthode. La directive virtual crée une entrée dans le tableau de méthode virtuelle, de l'objet, ou VMT, qui contient les adresses de toutes les méthodes virtuelles d'un type objet.

Lorsque vous dérivez une nouvelle classe d’une classe existante, la nouvelle classe a son propre VMT, qui comprend toutes les entrées provenant du VMT de l’ancêtre plus toutes les méthodes virtuelles supplémentaires déclarées dans la nouvelle classe.

Voir aussi