logo

Concepts de POO C++

L'objectif principal de la programmation C++ est d'introduire le concept d'orientation objet dans le langage de programmation C.

La programmation orientée objet est un paradigme qui fournit de nombreux concepts tels que héritage, liaison de données, polymorphisme, etc.

Le paradigme de programmation où tout est représenté comme un objet est connu comme un véritable langage de programmation orienté objet. Petite conversation est considéré comme le premier langage de programmation véritablement orienté objet.


POO (Système de Programmation Orienté Objet)

Objet désigne une véritable entité de mot telle qu'un stylo, une chaise, une table, etc. Programmation orientée objet est une méthodologie ou un paradigme pour concevoir un programme utilisant des classes et des objets. Il simplifie le développement et la maintenance du logiciel en fournissant quelques concepts :

liste des utilisateurs MySQL
Cpp Oups concept 1
  • Objet
  • Classe
  • Héritage
  • Polymorphisme
  • Abstraction
  • Encapsulation

Objet

Toute entité qui a un état et un comportement est appelée un objet. Par exemple : chaise, stylo, table, clavier, vélo etc. Cela peut être physique et logique.

Classe

Collection d'objets s'appelle la classe. C'est une entité logique.

Une classe en C++ est l'élément fondamental qui mène à la programmation orientée objet. Une instance de classe doit être créée afin d’accéder et d’utiliser les données membres et les fonctions membres du type de données défini par l’utilisateur. La classe d'un objet fait office de modèle. Prenons l'exemple de la classe des voitures. Même si différents noms et marques peuvent être utilisés pour différentes voitures, elles auront toutes certaines caractéristiques en commun, comme quatre roues, une limite de vitesse, une autonomie en kilomètres, etc. Dans ce cas, la classe de voiture est représentée par les roues, les limitations de vitesse et le kilométrage.

Héritage

Lorsqu'un objet acquiert toutes les propriétés et comportements de l'objet parent c'est-à-dire connu sous le nom d'héritage. Il permet la réutilisabilité du code. Il est utilisé pour réaliser le polymorphisme d’exécution.

  1. Sous-classe - La sous-classe ou classe dérivée fait référence à une classe qui reçoit les propriétés d'une autre classe.
  2. Super classe - Le terme « Classe de base » ou « Super Classe » fait référence à la classe dont une sous-classe hérite de ses propriétés.
  3. Réutilisabilité - Par conséquent, lorsque nous souhaitons créer une nouvelle classe, mais qu'une classe existante contient déjà une partie du code dont nous avons besoin, nous pouvons générer notre nouvelle classe à partir de l'ancienne classe grâce à l'héritage. Cela nous permet d'utiliser les champs et les méthodes de la classe préexistante.

Polymorphisme

Quand une tâche est exécutée de différentes manières c'est-à-dire connu sous le nom de polymorphisme. Par exemple : convaincre le client différemment, dessiner quelque chose, par exemple. forme ou rectangle, etc.

Différentes situations peuvent entraîner un comportement différent d'une opération. Le type de données utilisé dans l'opération détermine le comportement.

Abstraction

Masquer les détails internes et afficher les fonctionnalités est connu sous le nom d’abstraction. L'abstraction des données est le processus consistant à exposer au monde extérieur uniquement les informations absolument nécessaires tout en dissimulant les informations de mise en œuvre ou de base. Par exemple : appel téléphonique, nous ne connaissons pas le traitement interne.

En C++, nous utilisons une classe abstraite et une interface pour réaliser l'abstraction.

Encapsulation

La liaison (ou l'encapsulation) du code et des données dans une seule unité est appelée encapsulation. Par exemple : capsule, elle est enveloppée de différents médicaments.

opérateurs Java

L'encapsulation est généralement comprise comme le regroupement d'informations et de données liées en une seule entité. L'encapsulation est le processus de liaison des données et des fonctions qui les utilisent dans la programmation orientée objet. Jetez un œil à une illustration pratique de l'encapsulation : dans une entreprise, il existe différentes divisions, dont la division commerciale, la division financière et la division comptable. Toutes les transactions financières sont traitées par le secteur financier, qui conserve également des enregistrements de toutes les données financières. Dans le même esprit, la section des ventes est en charge de toutes les tâches liées aux ventes et tient un registre de chaque vente. Désormais, un scénario pourrait se produire lorsque, pour une raison quelconque, un responsable financier aurait besoin de toutes les informations sur les ventes d'un mois spécifique. Sous le terme générique « section commerciale », tous les employés qui peuvent influencer les données de la section commerciale sont regroupés. L'abstraction ou la dissimulation de données est un autre effet secondaire de l'encapsulation. De la même manière que l'encapsulation masque les données. Dans l'exemple ci-dessus, aucune autre zone ne peut accéder aux données d'aucune des sections, telles que les ventes, les finances ou les comptes.

Liaison dynamique - Dans la liaison dynamique, une décision est prise au moment de l'exécution concernant le code qui sera exécuté en réponse à un appel de fonction. Pour cela, C++ prend en charge les fonctions virtuelles.

Avantage des POO par rapport au langage de programmation orienté procédure

  1. Les POO facilitent le développement et la maintenance, alors que, comme dans le langage de programmation orienté procédure, il n'est pas facile à gérer si le code augmente à mesure que la taille du projet augmente.
  2. Les POO permettent de masquer les données alors que dans le langage de programmation orienté procédure, les données globales sont accessibles de n'importe où.
  3. Les POO offrent la possibilité de simuler des événements du monde réel beaucoup plus efficacement. Nous pouvons fournir la solution à un problème réel si nous utilisons le langage de programmation orienté objet.

Pourquoi avons-nous besoin de oups en C++ ?

Les premières méthodes de programmation présentaient divers inconvénients, ainsi que des performances médiocres. L'approche ne pouvait pas résoudre efficacement les problèmes du monde réel car, à l'instar de la programmation orientée procédure, il était impossible de réutiliser le code dans le programme, il y avait une difficulté d'accès aux données globales, etc.

Grâce à l'utilisation de classes et d'objets, la programmation orientée objet simplifie la maintenance du code. L'héritage permettant la réutilisation du code, le programme est plus simple car vous n'avez pas besoin d'écrire le même code à plusieurs reprises. La dissimulation des données est également assurée par des idées telles que l'encapsulation et l'abstraction.

liste Java

Pourquoi le C++ est-il un oups partiel ?

Les fonctionnalités orientées objet du langage C ont été la principale motivation derrière la construction du langage C++.

Le langage de programmation C++ est classé comme un langage de programmation partiellement orienté objet malgré le fait qu'il prend en charge les concepts de POO, notamment les classes, les objets, l'héritage, l'encapsulation, l'abstraction et le polymorphisme.

1) La fonction principale doit toujours être en dehors de la classe en C++ et est obligatoire. Cela signifie que nous pouvons nous passer de classes et d'objets et avoir une seule fonction principale dans l'application.

Il est exprimé sous forme d'objet dans ce cas, ce qui est la première fois que Pure OOP est violé.

2) Les variables globales sont une fonctionnalité du langage de programmation C++ accessible par tout autre objet du programme et définies en dehors de celui-ci. L'encapsulation est rompue ici. Même si C++ encourage l’encapsulation pour les classes et les objets, il l’ignore pour les variables globales.

Surcharge

Le polymorphisme possède également un sous-ensemble appelé surcharge. Un opérateur ou une fonction existante est dit surchargé lorsqu’il est obligé d’opérer sur un nouveau type de données.

Conclusion

Vous aurez compris la nécessité d'une programmation orientée objet, ce que sont les POO C++ et les principes fondamentaux des POO, tels que le polymorphisme, l'héritage, l'encapsulation, etc., après avoir lu ce cours sur les concepts OOPS en C++. Outre les cas de polymorphisme et d'héritage, vous avez également découvert les avantages des POO C++.