Sobes.tech
Junior — Middle

Come si può modificare o integrare il comportamento dei metodi nell'ereditarietà di una classe base in Kotlin?

sobes.tech AI

Risposta dell'AI

In Kotlin, per modificare o aggiungere comportamento ai metodi della classe base durante l'ereditarietà si utilizza la parola chiave override. Il metodo nella classe base deve essere dichiarato con il modificatore open affinché possa essere sovrascritto in una sottoclasse.

Esempio:

open class Base {
    open fun greet() {
        println("Ciao da Base")
    }
}

class Derived : Base() {
    override fun greet() {
        super.greet()  // chiamata al metodo della classe base
        println("Ciao da Derived")
    }
}

fun main() {
    val obj = Derived()
    obj.greet()
}

In questo esempio, il metodo greet della classe Base viene sovrascritto nella classe Derived, chiamando l'implementazione originale tramite super.greet(), e poi aggiungendo comportamento supplementare.

Pertanto, per modificare o aggiungere comportamento a un metodo:

  • Nella classe base, il metodo deve essere open.
  • Nella sottoclasse, il metodo viene contrassegnato con override.
  • È possibile chiamare il metodo originale tramite super per completare, non sostituire, il comportamento.