Sobes.tech
Junior — Middle

Jak v Kotlinu deklarovat třídu tak, aby ji bylo možné rozšiřovat v dědících třídách?

sobes.tech AI

Odpověď od AI

V Kotlinu jsou ve výchozím nastavení všechny třídy final, což znamená, že nemohou být děděny. Aby bylo možné dědit, je třeba třídu deklarovat s modifikátorem open.

Příklad:

open class Animal {
    open fun sound() {
        println("Nějaký zvuk")
    }
}

class Dog : Animal() {
    override fun sound() {
        println("Štěkání")
    }
}

Zde je Animal deklarováno jako open, což umožňuje třídě Dog dědit od něj a přepisovat metody.