Sobes.tech
Junior — Middle

Πώς μπορεί να αλλάξει η συμπεριφορά μιας μεθόδου σε μια κλάση που δημιουργείται με βάση μια άλλη κλάση;

sobes.tech AI

Απάντηση από AI

Για να αλλάξετε τη συμπεριφορά μιας μεθόδου σε μια κλάση που δημιουργήθηκε με βάση μια άλλη (κληρονομούμενη) κλάση, χρησιμοποιείται ο μηχανισμός υπερισχύσεως (override). Στη υποκλάση, δηλώνεται μια μέθοδος με το ίδιο όνομα και υπογραφή με αυτήν της βασικής κλάσης, και υλοποιείται μια νέα λογική. Όταν καλείται αυτή η μέθοδος σε ένα αντικείμενο της υποκλάσης, χρησιμοποιείται η υπερισχυμένη έκδοση.

Παράδειγμα σε Kotlin (Android):

open class Animal {
    open fun sound() {
        println("Κάποιος γενικός ήχος")
    }
}

class Dog : Animal() {
    override fun sound() {
        println("Γαύγισμα")
    }
}

fun main() {
    val dog = Dog()
    dog.sound() // Εκτυπώνει: Γαύγισμα
}

Έτσι, η υπερισχύση επιτρέπει την αλλαγή της συμπεριφοράς μιας κληρονομούμενης μεθόδου.