Sobes.tech
Junior — Middle

Πώς δηλώνεται μια κλάση σε Kotlin ώστε να μπορεί να επεκταθεί σε κλάσεις που κληρονομούν;

sobes.tech AI

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

Στην Kotlin, από προεπιλογή, όλες οι κλάσεις είναι final, δηλαδή δεν μπορούν να κληρονομηθούν. Για να επιτραπεί η κληρονομικότητα, η κλάση πρέπει να δηλωθεί με τον τροποποιητή open.

Παράδειγμα:

open class Animal {
    open fun sound() {
        println("Κάποιος ήχος")
    }
}

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

Εδώ, το Animal δηλώνεται ως open, που επιτρέπει στην κλάση Dog να κληρονομήσει από αυτό και να υπερεκχωρήσει μεθόδους.