Un trait
en Scala es una unidad de código reutilizable similar a las interfaces en otros lenguajes, pero con la capacidad de contener implementaciones de métodos. Los traits permiten definir y compartir funcionalidades entre clases de manera flexible y eficiente, ya que una clase puede extender múltiples traits.
trait
en Scala?
Un trait
es un tipo que define métodos abstractos y concretos que pueden ser heredados por otras clases. A diferencia de una clase abstracta, un trait puede ser mezclado (mixin) con múltiples clases, lo que permite una forma poderosa de composición en Scala. Además, un trait no puede tener parámetros de constructor.
trait
y usarlo en una clase
trait Volador {
def volar(): String = "Estoy volando"
}
class Pajaro extends Volador
val pajaro = new Pajaro()
println(pajaro.volar()) // Salida: Estoy volando
trait
trait Animal {
def sonido: String // método abstracto
}
class Perro extends Animal {
def sonido: String = "Ladrar"
}
val perro = new Perro()
println(perro.sonido) // Salida: Ladrar
trait Caminante {
def caminar(): String = "Estoy caminando"
}
class Gato extends Animal with Caminante {
def sonido: String = "Maullar"
}
val gato = new Gato()
println(gato.sonido) // Salida: Maullar
println(gato.caminar()) // Salida: Estoy caminando
Para más detalles, consulta la documentación oficial de Scala.
Jorge García
Fullstack developer