Buscar este blog

Etiquetas

Mostrando entradas con la etiqueta data classes. Mostrar todas las entradas
Mostrando entradas con la etiqueta data classes. Mostrar todas las entradas

miércoles, 9 de junio de 2021

Destructuración - Destructuring declarations

 //Lección 8 Kotlin Intermedio: Destructuring declarations

private fun destructuringDeclarations(){
val rene = Worker("Rene", 36, "Programador")
//La destructuración permite crear varias variables de una sola vez
val (nombre, edad, trabajo) = rene
//Si no quiero acceder a edad se hace un subrayado
val (nombre2, _, trabajo2) = rene
println("Mi nombre es $nombre, mi edad $edad y mi profesión $trabajo")
println("Tambien puedo imrpimir asi ${rene.component1()}")
//Destructurando una función
val (name, age, work) = myWorker()
println("Los datos traidos desde la funcion son $name, $age y $work")
//Destructuración en las colecciones, en mapas en concreto
//Un mapa nos permitía crear clave-valor
val myMap = mapOf(1 to "Brenda", 2 to "Ian", 3 to "XXX")
//Recorriendo el mapa
for (element in myMap){
println("${element.key} , ${element.value}")
//Asi se usa la descomposición
println("${element.component1()} , ${element.component2()}")
}
//Otra forma de destructuralizar
for ((llave, nombre) in myMap){
println("Llave-> $llave - Nombre-> $nombre")

}
}

private fun myWorker(): Worker {
return Worker("Rene", 33, "Programador abap")
}

viernes, 4 de junio de 2021

Data classes

 //Lección 6 Kotlin Intermedio; Data classes

private fun dataClasses(){
val rene = Worker("Rene",36,"Programador")
rene.lastWork = "Predicador"

//Funciones que nos permite el data class
//equals & hashCode, para compara objetos
if (rene.equals("SARA")){
println("Son iguales")
} else {
println("No son iguales")
}
//toString
println(rene.toString()) //Imprime todos los datos
//Copy
val rene2 = rene.copy(age = 30) //La opcion de copiar te permite modificar algunos datos
println(rene2.toString()) //Imprime todos los datos

//component - Funcion que se encarga de descomponer en estructuras mas sencillas
val (name, age) = rene
println(name)
println(age)
}

-------------------

data class Worker(val name:String = "", val age:Int = 0, val work:String = ""){
var lastWork:String = "" //Esto no será obligatorio

}

Cuando no reconoce los elementos el MainActivity

  If you are using Android Studio 4.1, you need to add the description to build.gradle (Module: .app). Si está utilizando Android Studio 4.1...