Sobes.tech
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.