Junior — Middle
Explique ce qu'est une classe abstraite et en quoi elle diffère d'une classe normale.
sobes.tech IA
Réponse de l'IA
Une classe abstraite est une classe qui n'est pas destinée à créer des instances directement. Son rôle principal est de servir de base pour d'autres classes. Dans une classe abstraite, il peut y avoir des méthodes abstraites — des méthodes sans implémentation, qui doivent être implémentées dans les sous-classes.
Différences avec une classe normale :
- On ne peut pas créer un objet d'une classe abstraite directement.
- Elle peut contenir des méthodes abstraites.
- Elle est utilisée pour définir une interface et un comportement communs pour un groupe de sous-classes.
Exemple en Kotlin (Android) :
abstract class Animal {
abstract fun makeSound()
fun sleep() {
println("Il dort")
}
}
class Dog : Animal() {
override fun makeSound() {
println("Wouf")
}
}
fun main() {
val dog = Dog()
dog.makeSound() // Affiche : Wouf
dog.sleep() // Affiche : Il dort
}