Sobes.tech
Junior — Middle

Jak lze změnit chování metody ve třídě vytvořené na základě jiné třídy?

sobes.tech AI

Odpověď od AI

Pro změnu chování metody ve třídě vytvořené na základě jiné (zděděné) třídy se používá mechanismus přepsání metody (override). V podtřídě je deklarována metoda se stejným názvem a signaturou jako v základní třídě a je implementována nová logika. Při volání této metody u objektu podtřídy bude použita právě přepsaná verze.

Příklad v Kotlin (Android):

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

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

fun main() {
    val dog = Dog()
    dog.sound() // Vypíše: štěkání
}

Tímto způsobem umožňuje přepsání změnit chování zděděné metody.