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:
- 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üsselwortopengekennzeichnet werden. - 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
(...). - Überschreiben von Methoden und Eigenschaften: Um eine Methode oder Eigenschaft der Basisklasse in der Kindklasse zu überschreiben, müssen sie in der Basisklasse mit
openund in der Kindklasse mitoverridegekennzeichnet werden. super: Das Schlüsselwortsuperwird verwendet, um auf Mitglieder der Basisklasse aus der Kindklasse zuzugreifen.- 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
}