Sobes.tech
Junior — Middle

Kotlin dilinde çoklu kalıtım uygulanabilir mi?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kotlin'de çoklu sınıf kalıtımı doğrudan desteklenmez, tıpkı Java'da olduğu gibi. Bir sınıf yalnızca bir sınıftan kalıtım alabilir.

Ancak, Kotlin arayüzlerin çoklu kalıtımını destekler; bu arayüzler varsayılan uygulamalar içerebilir. Bu, çoklu kalıtıma benzer bir davranışın uygulanmasına olanak tanır.

Örnek:

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() // Çıktı:
             // A
             // B
}

Bu nedenle, Kotlin'de sınıfların çoklu kalıtımı mümkün değildir, ancak varsayılan uygulamalara sahip arayüzlerin çoklu kalıtımı gerçekleştirilebilir.