No tienes acceso a esta clase

¬°Contin√ļa aprendiendo! √önete y comienza a potenciar tu carrera

Tuplas y Objetos

11/36
Recursos

Aportes 3

Preguntas 1

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

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.