Trait
Un trait define un conjunto de métodos para comportamiento compartido; los tipos implementan el trait para proporcionar esos métodos: el mecanismo de interfaz y abstracción de Rust/Scala.
Propósito
Definir interfaces de comportamiento compartido, favoreciendo la composición sobre la herencia.
Mecanismo
Un trait declara firmas de métodos (posiblemente con implementaciones por defecto). Los tipos hacen impl Trait para dar los cuerpos. Los límites de trait restringen tipos genéricos. Los trait objects (dyn Trait) permiten dispatch dinámico. Los supertraits dan herencia.
Casos de uso
- Programación en Rust
- Abstracción de interfaces
- Restricciones genéricas