Junior — Middle
Εξηγήστε τι είναι μια αφηρημένη κλάση και πώς διαφέρει από μια κανονική κλάση.
sobes.tech AI
Απάντηση από AI
Μια αφηρημένη κλάση είναι μια κλάση που δεν προορίζεται να δημιουργεί άμεσα στιγμιότυπα. Ο κύριος σκοπός της είναι να λειτουργεί ως βάση για άλλες κλάσεις. Σε μια αφηρημένη κλάση μπορούν να υπάρχουν αφηρημένες μέθοδοι — μέθοδοι χωρίς υλοποίηση που πρέπει να υλοποιηθούν στις υποκλάσεις.
Διαφορές από μια κανονική κλάση:
- Δεν μπορεί να δημιουργηθεί άμεσα ένα αντικείμενο της αφηρημένης κλάσης.
- Μπορεί να περιέχει αφηρημένες μεθόδους.
- Χρησιμοποιείται για τον ορισμό κοινής διεπαφής και συμπεριφοράς για μια ομάδα υποκλάσεων.
Παράδειγμα σε Kotlin (Android):
abstract class Animal {
abstract fun makeSound()
fun sleep() {
println("Κοιμάται")
}
}
class Dog : Animal() {
override fun makeSound() {
println("Γαβ")
}
}
fun main() {
val dog = Dog()
dog.makeSound() // Εκτύπωση: Γαβ
dog.sleep() // Εκτύπωση: Κοιμάται
}