Sobes.tech
Junior — Middle

Как да обявим клас в Kotlin така, че да може да бъде разширяван в наследяващи класове?

sobes.tech AI

Отговор от AI

В Kotlin по подразбиране всички класове са final, което означава, че не могат да бъдат наследени. За да разрешите наследяване, трябва да обявите класа с модификатора open.

Пример:

open class Animal {
    open fun sound() {
        println("Някакъв звук")
    }
}

class Dog : Animal() {
    override fun sound() {
        println("Лай")
    }
}

Тук Animal е обявен като open, което позволява на класа Dog да наследява от него и да преписва методи.