Classe abstraite

Définition - Que signifie la classe abstraite?

Dans les langages de programmation, une classe abstraite est une classe générique (ou un type d'objet) utilisée comme base pour créer des objets spécifiques conformes à son protocole ou à l'ensemble d'opérations qu'elle prend en charge. Les classes abstraites ne sont pas instanciées directement.

Les classes abstraites sont utiles lors de la création de hiérarchies de classes qui modélisent la réalité car elles permettent de spécifier un niveau de fonctionnalité invariant dans certaines méthodes, mais laissent l'implémentation d'autres méthodes jusqu'à ce qu'une implémentation spécifique de cette classe (une classe dérivée) soit nécessaire.

Definir Tech explique la classe abstraite

Dans les langages de programmation orientée objet (POO), les classes représentent des objets dans le domaine du problème que le logiciel est censé résoudre. Les classes incluent des collections d'attributs (propriétés) et de comportements (méthodes), qui peuvent être basés sur des classes préalablement définies. Les programmeurs utilisent l'héritage pour dériver l'implémentation spécifique des classes abstraites. Les classes dérivées de classes abstraites sont appelées classes dérivées. Lorsque ce principe est appliqué plusieurs fois de suite, il en résulte une hiérarchie de classes. Dans ce contexte, les classes abstraites sont à la racine de cette hiérarchie et sont utilisées pour appliquer les méthodes qui doivent être remplacées dans les classes dérivées, évitant ainsi les erreurs d'exécution potentielles.

Une classe abstraite a au moins une méthode abstraite. Une méthode abstraite n'aura aucun code dans la classe de base; le code sera ajouté dans ses classes dérivées. La méthode abstraite de la classe dérivée doit être implémentée avec le même modificateur d'accès, le même nombre et le même type d'argument, et avec le même type de retour que celui de la classe de base. Les objets de type classe abstraite ne peuvent pas être créés, car le code pour instancier un objet de type classe abstraite entraînera une erreur de compilation.