Sobes.tech
Junior — Middle

Je možné implementovať viacnásobné dedičstvo v jazyku Kotlin?

sobes.tech AI

Odpoveď od AI

V Kotlinu nie je priamo podporované viacnásobné dedičstvo tried, rovnako ako v Jave. Trieda môže dediť iba od jednej triedy.

Avšak, Kotlin podporuje viacnásobné dedičstvo rozhraní, ktoré môžu obsahovať predvolené implementácie. To umožňuje implementovať správanie podobné viacnásobnému dedičstvu.

Príklad:

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() // Vypíše:
             // A
             // B
}

Takže, viacnásobné dedičstvo tried v Kotlin nie je možné, ale viacnásobné dedičstvo rozhraní s implementáciami je realizovateľné.