¿Ya dominas lo básico? Un curso estructurado de Scala es la vía rápida para dar el salto.
Ver cursos de Scala en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (println)
- 03Variables (val y var)
- 04Anotaciones de tipo y tipos básicos
- 05Condicionales (la expresión if)
- 06Repetir (la expresión for)
- 07Escribir tu propia función
- 08Repetir (el bucle while)
- 09Trabajar con listas (List)
- 10Trabajar con diccionarios (Map)
- 11Clases (orientación a objetos)
- 12case class (clases para datos)
- 13Herencia y traits
- 14Pattern matching (la expresión match)
- 15El tipo Option (seguridad frente a null)
- 16Funciones de orden superior: map y filter
- 17object (objetos únicos)
- 18Textos e interpolación de cadenas
- 19for comprehensions (construir colecciones con yield)
- 20[Proyecto] Construye un mini sistema de inventario
Herencia y traits
En esta lección definirás un comportamiento común y harás que una clase lo implemente.
Un trait declara qué métodos debe tener quien lo implemente, parecido a una interfaz de Java. Una clase lo adopta con extends, y a partir del segundo se encadenan con with.
El código de ejemplo declara que algo «sabe hablar» y hace que un perro cumpla ese contrato con su propio ladrido.
Lo que distingue a un trait de una interfaz clásica es que puede incluir implementaciones, no solo firmas. Eso permite compartir código entre clases que no están emparentadas, algo que en Java tradicional obligaba a inventar clases abstractas intermedias. Una clase solo puede heredar de una clase, pero puede mezclar todos los traits que necesite.
Esa combinación es la base de un estilo muy usado en Scala: en vez de construir un árbol de herencia profundo, se van apilando capacidades pequeñas e independientes. El resultado es más fácil de cambiar, porque cada trait se entiende por separado.
🧪 Este sitio no puede compilar ni ejecutar Scala directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
