Sobes.tech
Junior — Middle

Em Kotlin, é possível alterar a implementação de um método numa classe herdada sem alterar o código fonte desse método na classe base?

sobes.tech IA

Resposta da IA

Sim, em Kotlin é possível alterar a implementação de um método numa classe herdada sem modificar o código fonte da classe base, usando o mecanismo de sobrescrita (override). Para isso, o método na classe base deve ser declarado com o modificador open.

Exemplo:

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

class Derived : Base() {
    override fun greet() {
        println("Olá do Derived")
    }
}

fun main() {
    val obj: Base = Derived()
    obj.greet() // Vai imprimir: Olá do Derived
}

Dessa forma, sem alterar a classe base, é possível modificar o comportamento do método na classe herdada.