Sobes.tech
Junior — Middle

Jak można zmienić zachowanie metody w klasie utworzonej na podstawie innej klasy?

sobes.tech AI

Odpowiedź od AI

Aby zmienić zachowanie metody w klasie utworzonej na podstawie innej (dziedziczącej) klasy, używa się mechanizmu nadpisywania metody (override). W klasie pochodnej deklaruje się metodę o takiej samej nazwie i sygnaturze jak w klasie bazowej i implementuje się nową logikę. Przy wywołaniu tej metody na obiekcie klasy pochodnej, zostanie użyta wersja nadpisana.

Przykład w Kotlin (Android):

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

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

fun main() {
    val dog = Dog()
    dog.sound() // Wypisze: Szczekanie
}

W ten sposób nadpisanie pozwala zmienić zachowanie metody odziedziczonej po klasie bazowej.