Tour de Rust Tabla de Contenidos

Polimorfismo Con Traits

Rust permite el polimorfismo con traits. Los traits nos permiten asociar un conjunto de métodos con una estructura.

Primero definimos las especificaciones de los métodos en un trait:

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

Cuando una estructura implementa un trait, establece un contrato que nos permite interactuar indirectamente con la estructura a través del Trait (e.g. &dyn MyTrait) sin tener que conocer el tipo real.

Los métodos de traits implementados en una estructura se definen dentro de un bloque de implementación:

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