Sobes.tech
Junior — Middle

Kotlin tilida ko'p meroslikni amalga oshirish mumkinmi?

sobes.tech AI

AIdan javob

Kotlin'da sinflarning ko'p meros bo'lishi to'g'ridan-to'g'ri qo'llab-quvvatlanmaydi, Java'da bo'lgani kabi. Sinf faqat bitta sinfdan meros olishi mumkin.

Ammo, Kotlin interfeyslarning ko'p meros bo'lishini qo'llab-quvvatlaydi, ular standart amalga oshirishlarni o'z ichiga olishi mumkin. Bu ko'p meros bo'lishga o'xshash xulq-atvorni amalga oshirish imkonini beradi.

Misol:

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

Shuning uchun, Kotlin'da sinflarning ko'p meros bo'lishi mumkin emas, lekin interfeyslarning ko'p meros bo'lishi amalga oshirilishi mumkin.