Concepts de la Programmation Objet en C++
Objectifs
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
Résumé
Apprenez à implémenter des classes abstraites et des interfaces en C++ en utilisant les fonctions virtuelles pures.
Description
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++.