En programmation orientée objet (POO), une classe abstraite est une classe si et seulement si elle n'est pas instanciable. Elle sert de base à d'autres classes dérivées (héritées). Le mécanisme des classes abstraites permet de définir des comportements (méthodes) dont l'implémentation (le code dans la méthode) se fait dans les classes filles. Ainsi, on a l'assurance que les classes filles respecteront le contrat défini par la classe mère abstraite. Ce contrat est une interface de programmation. Prenons l'exemple suivant : vous avez une classe Humain, à partir de laquelle dérivent la classe Homme et la classe Femme. En toute logique, Homme et Femme sont instanciables (les objets créés ont une existence en soi), mais la classe Humain sera déclarée abstraite car un objet Humain n'existe pas en tant que tel, puisqu'il manque l'information sur le sexe. Ici, la classe Humain servira à implémenter des méthodes qui seront utilisées à la fois pour Homme et pour Femme. Dans les diagrammes de classe, les classes abstraites ont leur nom écrit en italique. En Java, en C#, en TypeScript et en PHP, le mot clef définissant une classe abstraite est : abstract. En C++, une classe est abstraite si elle contient au moins une méthode déclarée virtuelle pure, c'est-à-dire commençant par virtual et terminée par = 0. Ce type de classe n'est pas instanciable. On peut néanmoins créer des pointeurs ou des références du type de la classe abstraite qui pointeront ou référenceront des objets d'une classe dérivée non abstraite. Une fonction virtuelle pure doit être définie ou redéclarée explicitement virtuelle pure. En Pascal les mots clefs abstract ou virtual (les deux existent et sont identiques) sont utilisés dans la déclaration du type classe en fin de ligne afin de préciser quelles seront les méthodes virtuelles ou abstraites (par exemple : function Addition(A, B: integer): integer; abstract;). En Visual basic .Net, une classe est abstraite si elle est précédée de la déclaration MustInherit.

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.