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.