Sobes.tech
Junior — Middle

Cum se poate modifica sau completa comportamentul metodelor la moștenirea unei clase de bază în Kotlin?

sobes.tech AI

Răspuns de la AI

În Kotlin, pentru a modifica sau adăuga comportament metodelor clasei de bază în timpul moștenirii, se folosește cuvântul cheie override. Metoda din clasa de bază trebuie să fie declarată cu modificatorul open pentru a putea fi suprascrisă într-o subclasă.

Exemplu:

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

class Derived : Base() {
    override fun greet() {
        super.greet()  // apelarea metodei din clasa de bază
        println("Salut din Derived")
    }
}

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

În acest exemplu, metoda greet a clasei Base este suprascrisă în clasa Derived, apelând implementarea originală prin super.greet(), apoi adăugând comportament suplimentar.

Pentru a modifica sau adăuga comportament la o metodă:

  • În clasa de bază, metoda trebuie să fie open.
  • În subclasă, metoda este marcată cu override.
  • Se poate apela metoda originală prin super pentru a o completa, nu pentru a o înlocui.