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;
}
}