Qu'est-ce que l'abstraction en C++ ? Avec un exemple concret et sa mise en œuvre

Publié: 2021-05-19

La programmation orientée objet (POO) est le paradigme de programmation le plus populaire et constitue le moyen standard de coder pour les programmeurs. La POO travaille sur le concept de classes et d'objets . Il structure un programme logiciel en morceaux de code simples et réutilisables appelés classes pour créer des objets individuels. C++ est un langage de programmation orienté objet, et l'abstraction en C++ est l'une des fonctionnalités C++ les plus importantes et le point culminant de cet article.

La programmation orientée objet est destinée à améliorer la flexibilité du programme. Dans cet article, vous découvrirez comment l'abstraction de données est effectuée dans le programme C++ ainsi que les avantages de le faire.

Table des matières

Abstraction de données en C++

L'abstraction est dérivée de deux mots latins, «abs», qui signifie «loin de» et «traction», qui signifie «dessiner», fait référence à la représentation des caractéristiques essentielles requises sans inclure tous les détails.

Les classes C++ effectuent une abstraction avec la liste des attributs abstraits tels que les fonctions. Ils mettent toutes les propriétés essentielles d'un objet à créer. Les attributs sont appelés membres de données et les fonctions qui agissent sur eux sont appelées fonctions membres. Les classes C++ utilisant le concept d'abstraction de données sont appelées types de données abstraits.

La source

Lors de l'utilisation d'une classe, les données membres et les fonctions membres sont représentées dans le code. Mais, les types de données intégrés et les membres de la classe sont ignorés lors de l'utilisation d'un objet appelé abstraction de données.

Programme pour démontrer l'abstraction en C++

#include <iostream.h>

#include <conio.h>

somme de classe

{

// abstraction de données

privé : int x,y,z ;

publique :

annuler l' ajout()

{

clrscr();

cout<< "Entrez deux nombres : " ;

cin>>x>>y;

z=x+y ;

cout<< "Somme des nombres : " <<z ;

}

} ;

void main()

{

somme s;

s.add();

obtenir();

}

Sortir

Entrez deux nombres :

22

23

Somme des nombres : 45

Exemples concrets démontrant l' abstraction

L'abstraction est une fonctionnalité de la programmation orientée objet, où seuls les détails pertinents sont affichés à l'utilisateur et les détails non pertinents sont masqués.

Vous pouvez comprendre l'abstraction en C++ avec ces exemples,

Lorsqu'un e-mail est envoyé, il vous suffit de cliquer sur envoyer et vous obtenez le reçu envoyé. Ce qui est abstrait ici, ce sont les données transférées au destinataire.

Les caractéristiques importantes d'un téléphone sont la carte mémoire, la carte SIM, l'autonomie de la batterie, la conception et le processeur. Lorsque vous utilisez le téléphone, vous n'entrez pas dans les détails de fonctionnement du téléphone, tels que l'allocation de la mémoire du processeur pour les différents supports qui vous sont invisibles. Vous ne pouvez utiliser que certaines commandes et certains boutons de votre téléphone sans savoir ce qui se passe à l'intérieur de votre téléphone.

Un homme au volant d'une voiture sait qu'appuyer sur les accélérateurs augmentera la vitesse de la voiture mais il ne sait pas comment faire, ce qui n'est rien d'autre que de l'abstraction.

Implémentation de l'abstraction de données en C++

C++ est une approche de programmation orientée objet. L' abstraction de données en C++ est implémentée de deux manières :

  1. Utilisation des classes et des objets
  2. Utilisation des fichiers d'en-tête

La source

1. Utiliser des classes et des objets

Nous pouvons choisir d'abstraire un membre de données ou une fonction membre spécifique pour qu'il soit accessible en dehors de la classe ou de ne pas utiliser de spécificateurs d'accès publics, privés ou protégés à l'aide de classes.

2. Utilisation des fichiers d'en-tête

Les fichiers d'en-tête incluent des fonctions de bibliothèque intégrées liées à ce fichier d'en-tête. Pour le fichier d'en-tête #include<string.h>, les programmeurs peuvent accéder aux fonctions strcpy() et strlen() et bien d'autres.

Programme:

Examinons un programme C++ simple pour comprendre l'abstraction à l'aide de classes, d' objets et de fichiers d'en-tête :

#include <iostream>

en utilisant l'espace de noms std ;

abstraction de classe

{

// Privé

entier num1, num2 ;

Publique:

// Pour accéder aux membres privés

entrée vide (int n1, int n2)

{

nombre1 = n1 ;

num2 = n2 ;

}

somme nulle()

{

cout<<" La somme est :" << num1+num2 << endl ;

}

} ;

int main()

{

cout<<“ Abstraction de données en C++ “<<endl;

Abstraction a ;

a.entrée(11, 18);

a.sum();

renvoie 0 ;

}

Sortir

Abstraction de données en C++

La somme est : 29

Avantages de l'abstraction en C++

Il est indéniable que l'abstraction en C++ est un concept de programmation bénéfique. Discutons explicitement de certains des avantages qu'il offre :

Il améliore la réutilisabilité du code et le partitionnement des classes en évitant toute redondance.

Il augmente la lisibilité du code en éliminant le fonctionnement complexe du code, ce qui le rend compréhensible.

Les éléments internes de la classe sont protégés contre les erreurs accidentelles au niveau de l'utilisateur

L'abstraction en C++ est une pratique pour écrire du code de haut niveau.

Il évite la duplication de code et le programmeur n'a pas à répéter les tâches courantes à chaque fois pour des opérations similaires

Il peut modifier indépendamment l'implémentation de la classe interne sans affecter l'utilisateur.

Apprenez des cours de développement de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Conclusion

L' abstraction de données en C++ est une méthode pour assurer la sécurité des données à partir de méthodes non autorisées. Dans cet article, nous avons essayé d'expliquer l'un des concepts C++ les plus importants largement utilisés, ainsi que son implémentation et des exemples concrets pour plus de clarté. Il ne serait pas difficile pour un débutant avec peu ou pas de connaissances de maîtriser les concepts avec un peu de pratique.

Si vous envisagez de suivre le cours de maîtrise ès sciences en informatique de pGrad , le processus d'apprentissage sera plus fluide pour vous.

Nous espérons que vous aurez une excellente opportunité d'apprentissage dans l'exécution de ces projets C++. Si vous souhaitez en savoir plus et avez besoin du mentorat d'experts de l'industrie, consultez le PG exécutif de upGrad & IIIT Banglore en développement de logiciels Full-Stack .

Qu'est-ce que l'abstraction en C++ ?

L'abstraction est le processus consistant à masquer les détails pertinents à un objectif spécifique. C'est l'idée centrale de la programmation orientée objet. Il permet aux programmeurs d'écrire du code plus générique que le problème réel à résoudre. Cela aide à réduire la taille du code et à simplifier le code. L'abstraction vous permet également de modifier le code à l'avenir, sans avoir à changer le code pour l'adapter aux nouveaux besoins.

Quels sont les piliers importants de la programmation orientée objet ?

Abstraction : nous pouvons considérer l'abstraction comme le processus d'utilisation de différentes couches de séparation entre les détails d'une opération complexe et le code qui exécute cette opération. Polymorphisme : Cela signifie essentiellement que la même opération peut être représentée différemment dans différents contextes. Héritage : L'héritage est une question de réutilisation du code. Interfaces : les interfaces sont des descriptions de haut niveau des classes. Il s'agit essentiellement d'un contrat spécifiant les méthodes qu'une classe doit avoir. Composition : la composition consiste à combiner des objets afin d'obtenir des fonctionnalités plus complexes.

Comment réaliser l'abstraction en C++ ?

Une abstraction est une implémentation d'un concept. C'est ce que vous faites lorsque vous utilisez un ensemble de classes et de fonctions pour séparer une idée du code qui l'implémente. En C++, une abstraction est une classe, un modèle ou une fonction. En C++, l'abstraction est réalisée de plusieurs façons, par exemple, C++ fournit plusieurs façons de réaliser l'abstraction des données, des moyens de masquer les détails d'implémentation et de laisser le code client fonctionner avec des interfaces de haut niveau.