Учебники

Котлин — Наследование

В этой главе мы узнаем о наследовании. По определению, мы все знаем, что наследование означает накопление некоторых свойств родительского класса в дочерний класс. В Kotlin базовый класс называется «Any», который является суперклассом «любого» класса по умолчанию, объявленного в Kotlin. Как и все другие OOPS, Kotlin также предоставляет эту функцию, используя одно ключевое слово, известное как «:» .

Все в Kotlin по умолчанию является окончательным, поэтому нам нужно использовать ключевое слово «open» перед объявлением класса, чтобы сделать его допустимым для наследования. Взгляните на следующий пример наследования.

Live Demo

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()
}

Приведенный выше фрагмент кода выдаст следующий вывод в браузере.

Hey!! i am thiking 

Теперь, что если мы хотим переопределить метод think () в дочернем классе. Затем нам нужно рассмотреть следующий пример, где мы создаем два класса и переопределяем одну из его функций в дочерний класс.

Live Demo

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()
}

Приведенный выше фрагмент кода вызовет унаследованный метод дочернего класса и выдаст следующий вывод в браузере. Как и Java, Kotlin также не допускает множественное наследование.