Avatar ·

O que a palavra-chave `by` faz em Kotlin e como usá-la para delegação?

Olá! Comecei a estudar Kotlin depois de Java e fico constantemente encontrando a palavra-chave `by`, mas não consigo entender sua essência. Vejo ela em contextos diferentes: na declaração de classes, em propriedades, em construções com `lazy`. Por exemplo, vi este código: ```kotlin class MyClass : BaseInterface by SomeImplementation() ``` Ou: ```kotlin val myValue: String by lazy { "Hello" } ``` O que `by` faz? É algum operador? Em Java não existe nada parecido. Tentei ler a documentação, mas é muito complexa para um iniciante. Pode explicar em palavras simples como `by` funciona? Quando devo usá-lo e quando é melhor evitar? E por que isso se chama "delegação"? Ficarei grato por exemplos da vida real para entender como aplicar isso em meus projetos. Desde já, obrigado! <<>>

O que é a palavra-chave `by` em Kotlin?

A palavra-chave by em Kotlin é um mecanismo de delegação. Em vez de escrever o código você mesmo, você diz: