Dispatch dynamique ou statique
Une méthode est exécutée de deux manières:
- Dispatch statique - Lorsque le type de l'instance est connu, nous avons
une connaissance directe de la méthode à appeler.
- Dispatch dynamique - Lorsque le type de l'instance n'est pas connu, Rust
doit se débrouiller pour appeler la bonne méthode.
Les types de traits &dyn MyTrait
nous permettent de travailler indirectement
avec des instances d'objets en utilisant un dispatch dynamique.
Lorsque qu'un dispach dynamique est utilisé, Rust nous encouragera (il affichera
un warning) à placer dyn
devant le type du trait pour indiquer que c'est un
trait.
Détails de la mémoire:
- Le dispach dynamique est légèrement plus lent que le dispatch statique car
il faut trouver la méthode à appeler.