Junior — Middle
Wie kann man das Verhalten von Methoden beim Erben von einer Basisklasse in Kotlin ändern oder ergänzen?
sobes.tech KI
Antwort von AI
In Kotlin wird das Schlüsselwort override verwendet, um das Verhalten von Methoden der Basisklasse bei Vererbung zu ändern oder zu erweitern. Die Methode in der Basisklasse muss mit dem Modifikator open deklariert sein, damit sie in einer Unterklasse überschrieben werden kann.
Beispiel:
open class Base {
open fun greet() {
println("Hallo von Base")
}
}
class Derived : Base() {
override fun greet() {
super.greet() // Aufruf der Methode der Basisklasse
println("Hallo von Derived")
}
}
fun main() {
val obj = Derived()
obj.greet()
}
In diesem Beispiel wird die Methode greet der Basisklasse Base in der Klasse Derived überschrieben, wobei die Originalimplementierung mit super.greet() aufgerufen wird und anschließend zusätzliches Verhalten hinzugefügt wird.
Um das Verhalten einer Methode zu ändern oder zu erweitern:
- In der Basisklasse muss die Methode
opensein. - In der Unterklasse wird die Methode mit
overridemarkiert. - Das Original kann mit
superaufgerufen werden, um es zu ergänzen, nicht zu ersetzen.