Invio dinamico e statico
I metodi vengono eseguiti in due modi:
- invio statico: quando il tipo di istanza è noto, abbiamo direct conoscenza di quale funzione chiamare.
- invio dinamico: quando un tipo di istanza non è noto, dobbiamo scoprirlo un modo per chiamare la funzione corretta.
I tipi di tratto "&dyn MyTrait" ci danno la possibilità di lavorare con istanze di oggetti indirettamente utilizzando l'invio dinamico.
Quando viene utilizzato l'invio dinamico, Rust ti incoraggerà a mettere dyn
prima il tuo tipo di tratto in modo che le persone ne siano consapevoli.
Dettagli della memoria:
- L'invio dinamico è leggermente più lento a causa del puntatore che cerca di trovare la vera chiamata di funzione.