No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Scala básico

Curso de Scala básico

Carlos Daniel Sanchez

Carlos Daniel Sanchez

Tuplas y Objetos

11/36
Recursos

Aportes 3

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Curioso que muy pocas personas se interesen por este curso.

Tuplas y Objetos

Tuplas

¿Cómo agrupar distintos tipos de datos en uno? Una lista no funcionará como esperamos (perdemos el tipo de dato). Las tuplas son una estructura de datos flexible y potente para agrupar datos

Objetos

En Scala tenemos una manera de definir clases cuyo objetivo es agrupar información. Programar de forma funcional implica separar los datos, de las operaciones sobre esos datos.

Clases en OOP vs. FP

Una clase en OOP tendrá atributos y métodos juntos

En FP hay clases que contienen únicamente atributos, y habrá otras clases únicamente con operaciones

  • Case Class
  • Traits
  • Classes
  • Abstract Classes
val tupla = (1, "Daniel", false)
// tupla: (Int,, String, Boolean) = 1, Daniel, false)

case class Persona(id:Int, nombre: String, activo: Boolean)
//defined class Persona

val p = Persona(1, "Daniel", true)
// p: Persona(1, "Daniel", true)

tupla._
// _1 _2 _3

tupla._1
// res2: Int = 1
tupla._2
// res2: String = Daniel
tupla._3
// res2: Boolean = false

p.id
//res4: Int = 1

p.nombre
//res4: String = Daniel

p.activo
//res4: Boolean = true

Persona.tupled(tupla)
// res12: Persona = Persona(1,Daniel,false)

Persona.unapply(p)
//res: Option[(Int,String,Boolean)] = Some((1,Daniel,true))

Estuvo genial la relaciona que hay entre tupla y objetos. Normalmente no se las relaciona, primer lenguaje que veo que si lo hacen, estuvo chévere.