Sobes.tech
Junior — Middle

Kotlin тилинде көп мурас алуу мүмкүнбү?

sobes.tech AI

AIден жооп

Kotlinде классдардын көп мурас алуулары түздөн-түз колдоо таппайт, Java сыяктуу. Бир класс гана бир классынан мурас алат.

Бирок, Kotlin интерфейстердин көп мурас алууларына колдоо көрсөтөт, аларда алдын ала ишке ашыруулар болушу мүмкүн. Бул көп мурас алууга окшош жүрүм-турумду ишке ашырууга мүмкүндүк берет.

Мисал:

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() // Чыгуу:
             // A
             // B
}

Ошентип, Kotlinде классдардын көп мурас алуулары мүмкүн эмес, бирок интерфейстердин көп мурас алуулары ишке ашырылышы мүмкүн.