Tour di Rust Indice dei Contenuti

Polimorfismo Con I Trait

Rust supporta il polimorfismo con i trait. I trait ci permettono di associare un insieme di metodi a un tipo struct.

Per prima cosa definiamo le firme dei metodi di un trait:

trait MyTrait {
    fn foo(&self);
    ...
}

Quando una struct implementa un trait, si stabilisce un contratto che ci permette di interagire indirettamente con la struct tramite il tipo trait (es. &dyn MyTrait), senza dover conoscere il tipo reale.

I metodi trait implementati da una struct sono definiti all'interno di un blocco di implementazione:

impl MyTrait for MyStruct {
    fn foo(&self) {
        ...
    }
    ...
}