Implémentation des Classes Abstraites et Interfaces en C++

Classes abstraites
Vidéo non disponible ! Réessayez plus tard
Cette vidéo fait partie de la formation
Apprendre la programmation C++
Revoir le teaser Je m'abonne
Transcription

79,00€ Je commande

Formation incluse dans l'abonnement Elephorm Je m'abonne à Elephorm

DescriptionProgrammeAvis

79,00€ Je commande

Formation incluse dans l'abonnement Elephorm Je m'abonne à Elephorm

Les objectifs de cette vidéo sont de :

  • Comprendre le concept de classe abstraite en C++
  • Savoir comment définir des fonctions virtuelles pures
  • Apprendre à créer des interfaces en C++
  • Utiliser l'héritage pour implémenter des classes concrètes à partir de classes abstraites

Apprenez à implémenter des classes abstraites et des interfaces en C++ en utilisant les fonctions virtuelles pures.

Si vous connaissez déjà la programmation objet, vous savez ce qu'est une classe abstraite. Dans cette leçon, nous allons voir comment elle s'implémente en C++, notamment au travers des fonctions virtuelles pures. Nous verrons également la notion d'interface et comment en C++ cela se traduit.

Une fonction abstraite est une fonction qui ne sert qu'à travers les substitutions. Par exemple, toutes les formes géométriques en 2D possèdent une surface, mais le calcul diffère entre un cercle et un rectangle. Pour définir une telle fonction en C++, on utilise le mot clé virtual suivi de = 0 pour indiquer que la fonction n'a pas de corps et doit être redéfinie dans les classes dérivées.

Une classe avec au moins une fonction virtuelle pure est dite abstraite, ce qui signifie qu'on ne peut pas en créer d'instance directement. Elle sert de base pour les autres classes qui vont hériter de ses caractéristiques communes.

Nous allons également voir que lorsqu'une classe ne possède que des fonctions virtuelles pures, on parle d'une interface. Les interfaces en C++ permettent de définir une API visible et publique, favorisant ainsi le polymorphisme dynamique.

Cette leçon se concentrera donc sur la création, l'héritage et la redéfinition de ces fonctions clés en C++.

Voir plus
Questions réponses
Quelle est la syntaxe pour déclarer une fonction virtuelle pure en C++?
En C++, une fonction virtuelle pure se déclare en utilisant le mot-clé virtual suivi de = 0 dans la déclaration de la fonction.
Pourquoi une classe abstraite ne peut pas être instanciée?
Une classe abstraite ne peut pas être instanciée car elle contient au moins une fonction virtuelle pure qui n'a pas d'implémentation. Instancier une telle classe n'aurait pas de sens puisque certaines de ses fonctions ne sont pas définies.
Quelle est la différence entre une classe abstraite et une interface en C++?
En C++, une classe abstraite est une classe qui contient au moins une fonction virtuelle pure. Une interface, par contre, est une classe qui ne contient que des fonctions virtuelles pures publiques. La distinction est conceptuelle, puisque dans les deux cas, on utilise le même mot-clé class pour les définir.

Programme détaillé