Можно ли реализовать множественное наследование в языке Kotlin?

В Kotlin множественное наследование классов напрямую не поддерживается, как и в Java. Класс может наследоваться только от одного класса.

Короткий ответ

Что ответить на собеседовании

В Kotlin множественное наследование классов напрямую не поддерживается, как и в Java. Класс может наследоваться только от одного класса.

Подробный разбор

Ответ с пояснениями

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

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку