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.