Sobes.tech
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
}