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() // Εκτυπώνει: Γαύγισμα
}
Έτσι, η υπερισχύση επιτρέπει την αλλαγή της συμπεριφοράς μιας κληρονομούμενης μεθόδου.