Kotlin - Eredità

In questo capitolo impareremo l'eredità. Per definizione, sappiamo tutti che eredità significa accumulare alcune proprietà della classe madre nella classe figlia. In Kotlin, la classe base è denominata "Any", che è la super classe della classe predefinita "any" dichiarata in Kotlin. Come tutte le altre OOPS, anche Kotlin fornisce questa funzionalità utilizzando una parola chiave nota come“:”.

Tutto in Kotlin è per impostazione predefinita final, quindi dobbiamo usare la parola chiave "open" davanti alla dichiarazione della classe per renderla consentita di ereditare. Dai un'occhiata al seguente esempio di eredità.

import java.util.Arrays

open class ABC {
   fun think () {
      print("Hey!! i am thiking ")
   }
}
class BCD: ABC(){ // inheritence happend using default constructor 
}

fun main(args: Array<String>) {
   var  a = BCD()
   a.think()
}

La parte di codice precedente produrrà il seguente output nel browser.

Hey!! i am thiking

Ora, cosa succede se vogliamo sovrascrivere il metodo think () nella classe figlia. Quindi, dobbiamo considerare il seguente esempio in cui stiamo creando due classi e sovrascrivendo una delle sue funzioni nella classe figlia.

import java.util.Arrays

open class ABC {
   open fun think () {
      print("Hey!! i am thinking ")
   }
}
class BCD: ABC() { // inheritance happens using default constructor 
   override fun think() {
      print("I Am from Child")
   }
}
fun main(args: Array<String>) {
   var  a = BCD()
   a.think()
}

La parte di codice sopra richiamerà il metodo ereditato dalla classe figlia e produrrà il seguente output nel browser. Come Java, anche Kotlin non consente eredità multiple.

I Am from Child