Sobes.tech
Junior — Middle

Pouvez-vous expliquer le concept de délégation en Kotlin et son utilisation?

sobes.tech IA

Réponse de l'IA

En Kotlin, la délégation est un mécanisme qui permet de transférer l’implémentation d’une interface ou d’une propriété spécifique à un autre objet, au lieu de l’implémenter directement dans la classe.

Principaux types de délégation :

  1. Délégation d’interface — la classe implémente une interface, mais appelle en réalité les méthodes d’un autre objet :
interface Base {
    fun print()
}

class BaseImpl(val x: Int) : Base {
    override fun print() { println(x) }
}

class Derived(b: Base) : Base by b

fun main() {
    val b = BaseImpl(10)
    Derived(b).print()  // Affichera 10
}
  1. Délégation de propriétés — permet de redéfinir le comportement des getters et setters via des délégateurs spéciaux, comme lazy, observable ou propres :
val lazyValue: String by lazy {
    println("Calcul de la valeur")
    "Bonjour"
}

L’utilisation de la délégation aide à réduire la duplication de code, augmenter la flexibilité et la réutilisation des composants.