Avatar ·

¿Qué hace la palabra clave `by` en Kotlin y cómo usarla para delegación?

¡Hola! Empecé a aprender Kotlin después de Java y constantemente me topo con la palabra clave `by`, pero no logro entender su esencia. La veo en diferentes contextos: en declaraciones de clases, en propiedades, en construcciones con `lazy`. Por ejemplo, he visto código como: ```kotlin class MyClass : BaseInterface by SomeImplementation() ``` O: ```kotlin val myValue: String by lazy { "Hello" } ``` ¿Qué hace `by`? ¿Es algún tipo de operador? En Java no hay nada similar. Intenté leer la documentación, pero es demasiado compleja para un principiante. ¿Pueden explicar en palabras simples cómo funciona `by`? ¿Cuándo debería usarlo y cuándo es mejor evitarlo? ¿Y por qué se llama "delegación"? Agradecería ejemplos de la vida real para poder entender cómo aplicarlo en mis proyectos. ¡Gracias de antemano! <<>>

¿Qué es la palabra clave `by` en Kotlin?

La palabra clave by en Kotlin es un mecanismo de delegación. En lugar de escribir el código tú mismo, dices: