En este post te voy a explicar el uso de los Traits en escala, como implementarlos y su uso como Mixins.
Primeros pasos.
Los traits en Scala pueden ser considerados como algo parecido a las interfaces en C# o Java, sin llegarlo a ser completamente. Nos sirven para invertir el control y generalizar comportamiento.
Inversión de dependencias.
La ventaja que nos dan los contratos, interfaces, traits, protocolos o como sea que se llamen en tu lenguaje los componentes encargados de definir comportamiento es que podemos generalizarlo y no trabajar con dependencias concretas. En Scala, puedes invertir la dependencia con traits.
Mixins
Un mixin es un componente que contiene funcionalidad previamente declarada y puede ser usada para incorporarla en otro. Puedes especificar funcionalidad en un trait e implementarla en otro componente por medio de la herencia. Cualquier método con implementación declarado en el trait puede ser sobreescrito.