auto_fix_high

Delegación con 'by': Sintaxis y Concepto

La Solución en Kotlin

check_circle

Delegación Automática

El compilador implementa automáticamente las funciones de la interface

stars Sintaxis con 'by'

class MiClase(delegado: MiInterface) : MiInterface by delegado

Ventajas

  • check Sin código repetitivo
  • check Solo sobrescribes lo necesario
  • check Código más limpio y mantenible

Ejemplo con Delegación

description

Interface HerramientaDibujo

interface HerramientaDibujo {
    val color: String
    fun dibujarLinea()
    fun dibujarRectangulo()
    fun dibujarCirculo()
    fun seleccionar()
}
check_circle

Sin código repetitivo

class SesionCanvas(
    private val herramienta: HerramientaDibujo
) : HerramientaDibujo by herramienta {
    // Solo sobrescribo lo que necesito cambiar
    override val color = "Azul"
}