Tour of Rust Inhoudsopgave

Polymorfisme Met Traits

Rust ondersteunt polymorfisme met traits. Traits stellen ons in staat om een set methoden te koppelen aan een struct-type.

Eerst definiëren we de signaturen van de methoden van een trait:

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

Wanneer een struct een trait implementeert, ontstaat er een contract dat ons in staat stelt om indirect met de struct te interageren via het trait-type (bijv. &dyn MyTrait), zonder het daadwerkelijke type te hoeven kennen.

De trait-methoden die door een struct worden geïmplementeerd, worden gedefinieerd binnen een implementatieblok:

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