Sobes.tech
Junior — Middle

Peut-on implémenter l'héritage multiple dans le langage Kotlin?

sobes.tech IA

Réponse de l'IA

En Kotlin, l'héritage multiple de classes n'est pas supporté directement, tout comme en Java. Une classe ne peut hériter que d'une seule classe.

Cependant, Kotlin supporte l'héritage multiple d'interfaces, qui peuvent contenir des implémentations par défaut. Cela permet d'implémenter un comportement similaire à l'héritage multiple.

Exemple:

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

Ainsi, l'héritage multiple de classes en Kotlin n'est pas possible, mais il est possible d'implémenter l'héritage multiple d'interfaces avec des implémentations.