Sobes.tech
Junior — Middle

¿Cómo se puede modificar o complementar el comportamiento de los métodos al heredar de una clase base en Kotlin?

sobes.tech AI

Respuesta de la IA

En Kotlin, para modificar o añadir comportamiento a los métodos de una clase base mediante herencia, se utiliza la palabra clave override. El método en la clase base debe ser declarado con el modificador open para que pueda ser sobrescrito en una subclase.

Ejemplo:

open class Base {
    open fun greet() {
        println("Hola desde Base")
    }
}

class Derived : Base() {
    override fun greet() {
        super.greet()  // llamada al método de la clase base
        println("Hola desde Derived")
    }
}

fun main() {
    val obj = Derived()
    obj.greet()
}

En este ejemplo, el método greet de la clase base Base se sobrescribe en la clase Derived, llamando a la implementación original mediante super.greet(), y luego añadiendo comportamiento adicional.

Por lo tanto, para modificar o añadir comportamiento a un método:

  • En la clase base, el método debe ser open.
  • En la subclase, el método se marca con override.
  • Se puede llamar al método original mediante super para complementar, no reemplazar, el comportamiento.