Sobes.tech
Junior — Middle

Hoe kan het gedrag van methoden worden gewijzigd of aangevuld bij het erven van een basisklasse in Kotlin?

sobes.tech AI

Antwoord van AI

In Kotlin wordt het sleutelwoord override gebruikt om het gedrag van methoden van de basisklasse te wijzigen of toe te voegen tijdens overerving. De methode in de basisklasse moet worden gedeclareerd met de modifier open zodat deze kan worden overschreven in een subclass.

Voorbeeld:

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

class Derived : Base() {
    override fun greet() {
        super.greet()  // aanroep van de methode van de basisklasse
        println("Hallo van Derived")
    }
}

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

In dit voorbeeld wordt de methode greet van de basisklasse Base overschreven in de klasse Derived, waarbij de originele implementatie wordt aangeroepen via super.greet(), en vervolgens extra gedrag wordt toegevoegd.

Om het gedrag van een methode te wijzigen of toe te voegen:

  • In de basisklasse moet de methode open zijn.
  • In de subclass wordt de methode gemarkeerd met override.
  • De originele methode kan worden aangeroepen via super om deze aan te vullen, niet te vervangen.