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
openzijn. - In de subclass wordt de methode gemarkeerd met
override. - De originele methode kan worden aangeroepen via
superom deze aan te vullen, niet te vervangen.