Junior — Middle
Je možné implementovať viacnásobné dedičstvo v jazyku Kotlin?
sobes.tech AI
Odpoveď od AI
V Kotlinu nie je priamo podporované viacnásobné dedičstvo tried, rovnako ako v Jave. Trieda môže dediť iba od jednej triedy.
Avšak, Kotlin podporuje viacnásobné dedičstvo rozhraní, ktoré môžu obsahovať predvolené implementácie. To umožňuje implementovať správanie podobné viacnásobnému dedičstvu.
Príklad:
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() // Vypíše:
// A
// B
}
Takže, viacnásobné dedičstvo tried v Kotlin nie je možné, ale viacnásobné dedičstvo rozhraní s implementáciami je realizovateľné.