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

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