Sobes.tech
Junior — Middle

Kan je in Kotlin de implementatie van een methode in een afgeleide klasse wijzigen zonder de broncode van die methode in de basisklasse te wijzigen?

sobes.tech AI

Antwoord van AI

Ja, in Kotlin is het mogelijk om de implementatie van een methode in een afgeleide klasse te wijzigen zonder de broncode van de basisklasse te wijzigen, door gebruik te maken van het override-mechanisme. Hiervoor moet de methode in de basisklasse worden gedeclareerd met de modifier open.

Voorbeeld:

open class Base {
    open fun greet() {
        println("Hallo van Base")
    }
}

class Derived : Base() {
    override fun greet() {
        println("Hallo van Derived")
    }
}

fun main() {
    val obj: Base = Derived()
    obj.greet() // Zal afdrukken: Hallo van Derived
}

Op deze manier kan het gedrag van de methode in de afgeleide klasse worden gewijzigd zonder de basisklasse aan te passen.