Sobes.tech
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 open sein.
  • In der Unterklasse wird die Methode mit override markiert.
  • Das Original kann mit super aufgerufen werden, um es zu ergänzen, nicht zu ersetzen.