Junior — Middle
V Kotlinu je možné zmeniť implementáciu metódy v dedičnej triede bez zmeny zdrojového kódu tejto metódy v základnej triede?
sobes.tech AI
Odpoveď od AI
Áno, v Kotlin je možné zmeniť implementáciu metódy v odvodenom triede bez zmeny zdrojového kódu základnej triedy pomocou mechanizmu prepisovania (override). Na to musí byť metóda v základnej triede deklarovaná s modifikátorom open.
Príklad:
open class Base {
open fun greet() {
println("Ahoj z Base")
}
}
class Derived : Base() {
override fun greet() {
println("Ahoj z Derived")
}
}
fun main() {
val obj: Base = Derived()
obj.greet() // Vypíše: Ahoj z Derived
}
Týmto spôsobom je možné bez zmeny základnej triedy zmeniť správanie metódy v odvodenom triede.