Sobes.tech
Junior — Middle

Kas on võimalik mitmekordset pärandamist Kotlin keeles?

sobes.tech AI

Vastus AI-lt

Kotlinis otseklasside mitmekordset pärandamist ei toetata, nagu Java-ski. Klass võib pärida ainult ühest klassist.

Kuid, Kotlin toetab mitmekordset liideste pärandamist, mis võivad sisaldada vaikimisi rakendusi. See võimaldab rakendada käitumist, mis sarnaneb mitmekordsele pärandamisele.

Näide:

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() // Väljund:
             // A
             // B
}

Seega, Kotlinis klasside mitmekordne pärandamine ei ole võimalik, kuid liideste mitmekordne pärandamine koos rakendustega on teostatav.