En este capítulo del curso de Kotlin, se revisa la clase data y el como nos brinda una funcionalidad similar a los objetos Java Bean.
En Kotlin, la clase data, por defecto nos brinda un conjunto de métodos que son generados en tiempo de compilación.
La clase se define de la siguiente forma:
1 | data class CustomerKotlin(var id:Int, var name:String, var email:String) |
Esta clase implementa por defecto los métodos: toString(), equals() y hashCode(), pero estos métodos también se pueden sobre escribir o personalizar utilizando la palabra reservada override, tal como se muestra en el ejemplo:
1 2 3 4 5 | data class CustomerKotlin(var id:Int, var name:String, var email:String){ override fun toString(): String { return "id : ${id} - name: ${name} - email: ${email}" } } |
Al programar con Kotlin, también se puede utilizar la función copy(), la cual me permite copiar un objeto en otro, de la siguiente manera:
1 2 3 4 5 6 7 | fun main(args: Array) { val customer1 = CustomerKotlin(1, "Juan", "juan@email.com") val customer3 = customer1.copy() val customer4 = customer1.copy(name="Pedro", email="pedro@mail.com") } |
De esta forma se puede copiar el contenido de un objeto, o una parte de el y personalizar los valores.
Ir al curso Programación con Kotlin.