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 не е възможно, но може да се реализира множествено наследяване на интерфейси с реализации.