Qu'est-ce qu'une classe abstraite?
En programmation orientée objet, une classe abstraite fournit une classe de base qui peut être utilisée pour fournir à d'autres classes une implémentation et une interface partielles. Ils sont eux-mêmes incomplets et utilisés dans des situations d'héritage dans de nombreux langages de programmation tels que Java, C ++ et C #. Leur utilisation en tant que classe de base signifie qu'ils sont souvent appelés classe de base abstraite (ABC).
Partie intégrante de la programmation orientée objet, l’abstraction de données supprime les détails inutiles d’un objet. Essentiellement, l'objet se résume à ses principales caractéristiques d'identification. Ces caractéristiques de base fournissent un schéma directeur qui peut être utilisé pour créer d'autres objets avec les mêmes propriétés, ne différant que par les détails.
Ce modèle est défini en tant que classe. Les classes sont utilisées pour encapsuler le code, ce qui facilite la tâche du programmeur, car il peut référencer des routines communes spécifiques au lieu de les écrire encore et encore. Les programmeurs créent des objets enfants à partir de classes et ces objets héritent des fonctions et des méthodes de la classe parente.
Le but d'une classe abstraite est d'être le cadre sur lequel d'autres classes sont construites. Les objets ne peuvent pas être créés directement à partir d'une classe abstraite, mais uniquement à partir des sous-classes appartenant à la classe abstraite. Pour qu'un objet hérite d'une classe abstraite, une sous-classe doit être créée. Les objets d'une sous-classe créée d'une classe abstraite héritent des propriétés de cette classe abstraite.
Chaque classe modélise un concept et les classes abstraites ont tendance à modéliser des concepts plus abstraits à l'aide de méthodes abstraites. Les méthodes abstraites sont des sous-routines à l'intérieur d'une classe abstraite qui ne contiennent aucune implémentation. Ces sous-routines sont utilisées comme espaces réservés pour être écrasées par une sous-classe ou un objet conçu sur la base de la classe contenant la méthode abstraite elle-même.
Il existe différentes méthodes pour créer une classe abstraite. Par exemple, en C ++, une classe abstraite est créée en développant une classe avec au moins une méthode abstraite ou une fonction virtuelle pure. Java utilise un mot clé, «abstrait», pour désigner une classe abstraite. Ils ne sont toutefois pas définis dans des langages de programmation qui ne supportent pas l'idée d'héritage.
L'héritage est le processus de création de nouveaux objets à partir de classes où les nouveaux objets peuvent utiliser les fonctions et méthodes définies dans leurs classes parentes sans qu'il soit nécessaire de reformuler le programme. C'est pourquoi une classe abstraite est utile. Les classes et objets enfants de ces sous-classes héritent des propriétés de la classe abstraite parent. Les classes abstraites sont considérées comme des super-classes et se situent au sommet de la hiérarchie des structures de classes. Elles n'ont donc aucun intérêt dans un langage ne prenant pas en charge l'héritage.