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.