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 имконнопазир аст, аммо бисёрнаслӣ аз интерфейсҳо бо иҷроишҳо имконпазир аст.