Sobes.tech
Junior — Middle

Kann Mehrfachvererbung in der Kotlin-Sprache implementiert werden?

sobes.tech KI

Antwort von AI

In Kotlin wird die Mehrfachvererbung von Klassen nicht direkt unterstützt, ähnlich wie in Java. Eine Klasse kann nur von einer Klasse erben.

Allerdings unterstützt Kotlin die Mehrfachvererbung von Schnittstellen, die Standardimplementierungen enthalten können. Dies ermöglicht die Implementierung eines Verhaltens, das der Mehrfachvererbung ähnelt.

Beispiel:

interface A {
    fun foo() { println("A") }
}

interface B {
    fun foo() { println("B") }
}

class C : A, B {
    override fun foo() {
        super<A>.foo()
        super<B>.foo()
    }
}

fun main() {
    val c = C()
    c.foo() // Gibt aus:
             // A
             // B
}

Daher ist die Mehrfachvererbung von Klassen in Kotlin nicht möglich, aber die Mehrfachvererbung von Schnittstellen mit Implementierungen kann realisiert werden.