Sobes.tech
Junior — Middle

Kan meervoudige overerving worden geïmplementeerd in de Kotlin-taal?

sobes.tech AI

Antwoord van AI

In Kotlin wordt meervoudige overerving van klassen niet direct ondersteund, net als in Java. Een klasse kan slechts van één klasse erven.

Echter, Kotlin ondersteunt meervoudige overerving van interfaces, die standaardimplementaties kunnen bevatten. Dit stelt je in staat om gedrag te implementeren dat lijkt op meervoudige overerving.

Voorbeeld:

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() // Output:
             // A
             // B
}

Dus, meervoudige overerving van klassen in Kotlin is niet mogelijk, maar meervoudige overerving van interfaces met implementaties is wel mogelijk.