Junior — Middle
È possibile implementare l'ereditarietà multipla nel linguaggio Kotlin?
sobes.tech AI
Risposta dell'AI
In Kotlin, l'ereditarietà multipla di classi non è supportata direttamente, come in Java. Una classe può ereditare solo da una classe.
Tuttavia, Kotlin supporta l'ereditarietà multipla di interfacce, che possono contenere implementazioni di default. Questo permette di implementare un comportamento simile all'ereditarietà multipla.
Esempio:
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() // Stampa:
// A
// B
}
Pertanto, l'ereditarietà multipla di classi in Kotlin non è possibile, ma si può implementare l'ereditarietà multipla di interfacce con implementazioni.