Junior — Middle
Може ли се реализовати мултинаследност у језику Kotlin?
sobes.tech АИ
Одговор од АИ
U Kotlin-u višestruko nasleđivanje klasa nije direktno podržano, kao ni u Javi. Klasa može nasleđivati samo od jedne klase.
Međutim, Kotlin podržava višestruko nasleđivanje interfejsa, koji mogu sadržavati podrazumevana implementacija. Ovo omogućava implementaciju ponašanja sličnog višestrukom nasleđivanju.
Primer:
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() // Ispisaće:
// A
// B
}
Dakle, višestruko nasleđivanje klasa u Kotlin-u nije moguće, ali višestruko nasleđivanje interfejsa sa implementacijama jeste realizovano.