Back to questions
СБЕР Звук
Junior — Middle
65
Можно ли реализовать множественное наследование в языке Kotlin?
Companies where asked
Astra
Answer from AI
sobes.tech 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 нельзя, но можно реализовать множественное наследование интерфейсов с реализациями.