Sobes.tech
Junior — Middle

Jak zadeklarować klasę w Kotlinie, aby można ją było rozszerzać w klasach dziedziczących?

sobes.tech AI

Odpowiedź od AI

W Kotlinie domyślnie wszystkie klasy są final, co oznacza, że nie mogą być dziedziczone. Aby umożliwić dziedziczenie, klasa musi być zadeklarowana z modyfikatorem open.

Przykład:

open class Animal {
    open fun sound() {
        println("Jakiś dźwięk")
    }
}

class Dog : Animal() {
    override fun sound() {
        println("Szczekanie")
    }
}

Tutaj Animal jest zadeklarowane jako open, co pozwala klasie Dog dziedziczyć po nim i nadpisywać metody.