Avatar ·

Que fait le mot-clé `by` en Kotlin et comment l'utiliser pour la délégation ?

Bonjour ! J'ai commencé à apprendre Kotlin après Java et je tombe constamment sur le mot-clé `by`, mais je n'arrive pas à comprendre son essence. Je le vois dans différents contextes : dans les déclarations de classes, dans les propriétés, dans les constructions avec `lazy`. Par exemple, j'ai vu ce code : ```kotlin class MyClass : BaseInterface by SomeImplementation() ``` Ou : ```kotlin val myValue: String by lazy { "Hello" } ``` Que fait `by` ? Est-ce une sorte d'opérateur ? Il n'y a rien de tel en Java. J'ai essayé de lire la documentation, mais elle est trop complexe pour un débutant. Pouvez-vous expliquer en termes simples comment fonctionne `by` ? Quand faut-il l'utiliser, et quand vaut-il mieux l'éviter ? Et pourquoi cela s'appelle-t-il "délégation" ? Je vous serais reconnaissant pour des exemples concrets, afin que je puisse comprendre comment l'appliquer dans mes projets. Merci d'avance !