Sobes.tech
Junior

Qu'est-ce qu'une classe abstraite?

sobes.tech IA

Réponse de l'IA

Une classe abstraite est une classe qui ne peut pas être créée directement à l'aide de l'opérateur new. Elle sert de base à d'autres classes et peut contenir des méthodes abstraites (sans implémentation) et des méthodes normales (avec implémentation). Les classes abstraites sont définies avec le mot-clé abstract.

Principales caractéristiques :

  • Impossible d'instancier : Il est impossible de créer un objet de la classe abstraite elle-même.
  • Peut contenir des méthodes abstraites : Méthodes sans corps, qui doivent être redéfinies dans les classes dérivées.
  • Peut contenir des méthodes normales : Méthodes avec une implémentation, qui peuvent être héritées ou redéfinies.
  • Héritage : Les classes dérivées héritent de la classe abstraite et doivent implémenter toutes ses méthodes abstraites.

Exemple :

abstract class Shape {
  // Méthode abstraite sans implémentation
  double getArea();

  // Méthode normale avec implémentation
  void describe() {
    print('Ceci est une figure.');
  }
}

class Circle extends Shape {
  double radius;

  Circle(this.radius);

  // Implémentation de la méthode abstraite
  @override
  double getArea() {
    return 3.14 * radius * radius;
  }
}

class Square extends Shape {
  double side;

  Square(this.side);

  // Implémentation de la méthode abstraite
  @override
  double getArea() {
    return side * side;
  }
}