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.