Volver a la página principal
lunes 14 octubre 2024
2

Cómo definir clases inmutables con case class en Scala

Una case class en Scala es una clase especial que se utiliza para crear objetos inmutables y que proporciona funcionalidades adicionales como la comparación estructural, la copia de objetos y la descomposición mediante pattern matching de forma automática. Es muy útil para trabajar con datos de forma concisa y eficiente.

¿Qué es una case class en Scala?

En Scala, una case class es una clase que automáticamente proporciona métodos útiles como equals(), hashCode(), toString(), y copy(), sin necesidad de escribir código adicional. También facilita el trabajo con datos, ya que permite descomponer objetos usando pattern matching y evita la mutabilidad, haciendo que los objetos sean inmutables por defecto.

Ejemplos de uso

Ejemplo básico de case class

case class Persona(nombre: String, edad: Int)

val persona1 = Persona("Juan", 30)
println(persona1.nombre) // Salida: Juan

Copiar un objeto con modificaciones

val persona2 = persona1.copy(edad = 31)
println(persona2) // Salida: Persona(Juan,31)

Uso en pattern matching

persona1 match {
  case Persona(nombre, edad) => println(s"Nombre: $nombre, Edad: $edad")
}

Referencia

Para más detalles, visita la documentación oficial de Scala.

Etiquetas:
scala
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer