Sobes.tech
Junior — Middle

Como é que se pode modificar ou complementar o comportamento dos métodos ao herdar de uma classe base em Kotlin?

sobes.tech IA

Resposta da IA

No Kotlin, para modificar ou acrescentar comportamento aos métodos de uma classe base ao herdar, usa-se a palavra-chave override. O método na classe base deve ser declarado com o modificador open para que possa ser sobrescrito numa subclasse.

Exemplo:

open class Base {
    open fun greet() {
        println("Olá do Base")
    }
}

class Derived : Base() {
    override fun greet() {
        super.greet()  // chamada ao método da classe base
        println("Olá do Derived")
    }
}

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

Neste exemplo, o método greet da classe Base é sobrescrito na classe Derived, chamando a implementação original através de super.greet(), e depois adicionando comportamento adicional.

Assim, para modificar ou acrescentar comportamento a um método:

  • Na classe base, o método deve ser open.
  • Na subclasse, o método é marcado com override.
  • Pode-se chamar o método original através de super para complementar, e não substituir, o comportamento.