Sobes.tech
Junior — Middle

Se poate în Kotlin să modifici implementarea unei metode într-o clasă moștenitoare fără a modifica codul sursă al acesteia în clasa de bază?

sobes.tech AI

Răspuns de la AI

Da, în Kotlin se poate modifica implementarea unei metode într-o clasă moștenitoare fără a modifica codul sursă al clasei de bază, folosind mecanismul de suprascriere (override). Pentru aceasta, metoda din clasa de bază trebuie declarată cu modificatorul open.

Exemplu:

open class Base {
    open fun greet() {
        println("Salut din Base")
    }
}

class Derived : Base() {
    override fun greet() {
        println("Salut din Derived")
    }
}

fun main() {
    val obj: Base = Derived()
    obj.greet() // Va afișa: Salut din Derived
}

Astfel, fără a modifica clasa de bază, se poate schimba comportamentul metodei în clasa derivată.