Junior — Middle
Kann man in Kotlin die Implementierung einer Methode in einer abgeleiteten Klasse ändern, ohne den Quellcode dieser Methode in der Basisklasse zu ändern?
sobes.tech KI
Antwort von AI
Ja, in Kotlin ist es möglich, die Implementierung einer Methode in einer abgeleiteten Klasse zu ändern, ohne den Quellcode der Basisklasse zu verändern, indem man den Überschreibungsmechanismus (override) verwendet. Dafür muss die Methode in der Basisklasse mit dem Modifikator open deklariert sein.
Beispiel:
open class Base {
open fun greet() {
println("Hallo von Base")
}
}
class Derived : Base() {
override fun greet() {
println("Hallo von Derived")
}
}
fun main() {
val obj: Base = Derived()
obj.greet() // Gibt aus: Hallo von Derived
}
Auf diese Weise kann das Verhalten der Methode in der abgeleiteten Klasse geändert werden, ohne die Basisklasse zu modifizieren.