Sobes.tech
Junior

Erzählen Sie mir von Vererbung in Kotlin.

sobes.tech KI

Antwort von AI

Vererbung in Kotlin ist ein Mechanismus, der es ermöglicht, neue Klassen auf Basis bestehender Klassen zu erstellen. Die neue Klasse (Kind- oder abgeleitete Klasse) erbt die Eigenschaften (Variablen) und Methoden (Funktionen) der Elternklasse (Basisklasse). Dies fördert die Wiederverwendung von Code und die Erstellung von Klassenhierarchien.

Wichtige Merkmale:

  1. Standardmäßig nicht offen: In Kotlin sind Klassen und Methoden standardmäßig final, was bedeutet, dass sie nicht vererbt oder überschrieben werden können. Um Vererbung zu erlauben, müssen sie explizit mit dem Schlüsselwort open gekennzeichnet werden.
  2. Konstruktoren: Die Kindklasse muss den Konstruktor einer der Basisklassen aufrufen (bei mehreren, im Fall von Schnittstellen). Der Aufruf erfolgt bei der Deklaration der Kindklasse mit (...).
  3. Überschreiben von Methoden und Eigenschaften: Um eine Methode oder Eigenschaft der Basisklasse in der Kindklasse zu überschreiben, müssen sie in der Basisklasse mit open und in der Kindklasse mit override gekennzeichnet werden.
  4. super: Das Schlüsselwort super wird verwendet, um auf Mitglieder der Basisklasse aus der Kindklasse zuzugreifen.
  5. Einfache Vererbung der Implementierung: Kotlin unterstützt einfache Vererbung der Implementierung (von einer Klasse), aber Mehrfachvererbung von Schnittstellen.

Beispiel einer Basisklasse:

// Basisklasse
open class Animal(val name: String) {
    open fun makeSound() {
        println("$name macht ein Geräusch")
    }
}

Beispiel einer Kindklasse:

// Kindklasse
class Dog(name: String) : Animal(name) {
    override fun makeSound() {
        println("$name bellt")
    }
}

Verwendung:

// Verwendung von Objekten
fun main() {
    val animal = Animal("Generisches Tier")
    animal.makeSound() // Ausgabe: Generisches Tier macht ein Geräusch

    val dog = Dog("Buddy")
    dog.makeSound() // Ausgabe: Buddy bellt
}