Junior — Middle
Lze v jazyce Kotlin implementovat vícenáslednictví?
sobes.tech AI
Odpověď od AI
V Kotlinu není přímá podpora vícenásobného dědění tříd, stejně jako v Javě. Třída může dědit pouze od jedné třídy.
Nicméně, Kotlin podporuje vícenásobné dědění rozhraní, která mohou obsahovat výchozí implementace. To umožňuje implementovat chování podobné vícenásobnému dědění.
Pří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
}
Tedy, vícenásobné dědění tříd v Kotlinu není možné, ale vícenásobné dědění rozhraní s výchozími implementacemi je realizovatelné.