Sobes.tech
Junior — Middle

Se poate implementa moștenirea multiplă în limbajul Kotlin?

sobes.tech AI

Răspuns de la AI

În Kotlin, moștenirea multiplă a claselor nu este suportată direct, la fel ca în Java. O clasă poate moșteni doar de la o singură clasă.

Cu toate acestea, Kotlin suportă moștenirea multiplă a interfețelor, care pot conține implementări implicite. Acest lucru permite implementarea unui comportament similar cu moștenirea multiplă.

Exemplu:

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() // Va afișa:
             // A
             // B
}

Prin urmare, moștenirea multiplă a claselor în Kotlin nu este posibilă, dar moștenirea multiplă a interfețelor cu implementări este realizabilă.