Sobes.tech
Junior — Middle

Jak lze změnit nebo doplnit chování metod při dědění z základní třídy v Kotlinu?

sobes.tech AI

Odpověď od AI

V Kotlinu se k pro změně nebo doplnění chování metod základní třídy při dědění používá klíčové slovo override. Metoda v základní třídě musí být deklarována s modifikátorem open, aby ji bylo možné přepsat v podtřídě.

Příklad:

open class Base {
    open fun greet() {
        println("Ahoj z Base")
    }
}

class Derived : Base() {
    override fun greet() {
        super.greet()  // volání metody základní třídy
        println("Ahoj z Derived")
    }
}

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

V tomto příkladu je metoda greet třídy Base přepsána ve třídě Derived, přičemž se volá původní implementace přes super.greet(), a poté se přidává další chování.

Pro změnu nebo doplnění chování metody:

  • V základní třídě musí být metoda open.
  • V podtřídě je metoda označena override.
  • Původní metoda může být volána přes super, aby ji bylo možné doplnit, nikoliv nahradit.