Je sais que les fonctions ne sont chargées qu'une seule fois dans la mémoire. Mon doute est le suivant : si nous créons un objet d'une classe, comment fait-il référence à la fonction ? Qu'est-ce qui se cache derrière la création d'un objet et l'appel d'une fonction ? Y a-t-il un pointeur dans l'objet vers la fonction ?
Réponses
Trop de publicités?Lorsque vous créez un objet, seuls ses champs de données sont créés (alloués). Les méthodes de classe restent en mémoire pendant toute l'exécution du programme.
L'objet possède-t-il un pointeur vers la méthode ou non ? Cela dépend de la langue. Par exemple, en C++, les objets contiennent des pointeurs vers les méthodes virtuelles, tandis que les méthodes normales et statiques sont appelées simplement par leurs adresses constantes.
Je crois que vous cherchez le terme " tableau des méthodes virtuelles ".
Il s'agit du mécanisme utilisé par les langages (compilateurs) pour déterminer la méthode à invoquer lorsqu'une fonction virtuelle est appelée (et en Java, toutes les fonctions sont virtuelles).