Sobes.tech
Junior — Middle

Ako možno zmeniť alebo doplniť správanie metód pri dedičstve základnej triedy v Kotlin?

sobes.tech AI

Odpoveď od AI

V Kotlinu sa na dedičstvo koristi kľúčové slovo override na zmenu alebo pridanie správania metód základnej triedy. Metóda v základnej triede musí byť deklarovaná s modifikátorom open, aby ju bolo možné prepísať v podtriede.

Príklad:

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

class Derived : Base() {
    override fun greet() {
        super.greet()  // volanie metódy základnej triedy
        println("Ahoj z Derived")
    }
}

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

V tomto príklade je metóda greet triedy Base prepísaná v triede Derived, pričom sa volá pôvodná implementácia cez super.greet(), a následne sa pridáva ďalšie správanie.

Na zmenu alebo pridanie správania metódy:

  • V základnej triede musí byť metóda open.
  • V podtriede je metóda označená s override.
  • Pôvodná metóda môže byť volaná cez super, aby sa doplnila, nie nahradila.