next up previous contents index
suivant: Passage par valeur monter: Méthodes précédent: Méthodes   Table des matières   Index


Invocation

La seule opération que l'on peut faire sur une méthode est de l'invoquer, en l'appliquant à une liste d'arguments. Une invocation de méthode, est une expression formée à partir

Ainsi, p.translater(1,1) est une invocation de la méthode translater, avec p pour cible et (1, 1) comme liste d'arguments.

L'expression cible peut être un nom, et en particulier this ; l'invocation this.m(...) peut être simplifiée en m(...).

Comme pour les fonctions, le nombre des arguments (dans l'expression d'invocation) et le nombre des paramètres (dans la définition de la méthode) doivent être identiques ; le type d'un argument doit être égal au type du paramètre correspondant ou doit en être un sous-type.

L'évaluation d'une invocation de méthode se fait en plusieurs étapes. Certaines étapes, fondées uniquement sur le type de l'expression cible et sur les types des arguments sont effectuées à la compilation. D'autres étapes nécessitent la connaissance de l'objet cible, et ne peuvent se faire qu'à l'exécution. Plusieurs traits importants sont mis en 3#3uvre dans ces diverses étapes : la résolution de la surcharge, la liaison tardive, le passage des arguments par valeur.


next up previous contents index
suivant: Passage par valeur monter: Méthodes précédent: Méthodes   Table des matières   Index
Rene' LALEMENT 2002-11-07