Introduction à l'encapsulation en C ++

L'encapsulation signifie le processus d'emballage des données et des fonctions dans une seule capsule. Il protège également les données d'autres classes en limitant l'accès. Fondamentalement, il masque les données. Si nous prenons un exemple du collège dans le monde réel, nous avons différents départements comme la physique, la chimie et la biologie, etc. Une situation peut se produire lorsque le chef du département de physique a besoin d'informations du département de biologie, il ne peut pas accéder directement aux données de ce service. Tout d'abord, il doit contacter le chef du département de biologie, puis lui demander de fournir les données. C'est ainsi que fonctionne l'encapsulation.

Comment utiliser l'encapsulation en C ++?

Pour ce faire, nous devons suivre les étapes ci-dessous:

  1. Tout d'abord, nous devons rendre toutes les données membres privées.
  2. Ensuite, les fonctions publiques getter et setter doivent être créées pour chaque membre de données de telle manière que la fonction get obtienne la valeur du membre de données et la fonction set définit la valeur du membre de données.

L'encapsulation et le masquage des données peuvent être réalisés en C ++, en utilisant des types définis par l'utilisateur appelés Classes. Les spécificateurs d'accès dans les classes peuvent être privés, protégés ou publics. Par défaut, tous les éléments d'une classe sont privés. Selon les besoins, nous pouvons modifier les niveaux d'accès. Les trois niveaux de spécificateurs d'accès sont les suivants:

  • Privé : les membres d'une même classe peuvent accéder aux données.
  • Public : toutes les classes peuvent accéder aux données.
  • Protégé : l'accès aux données est autorisé aux membres de la même classe ou de classes dérivées.

La meilleure utilisation de l'encapsulation se fait uniquement lorsque nous utilisons soit privé, soit protégé. Lorsque vous utilisez public, nous devons nous assurer que nous connaissons son besoin dans le code.

Pour expliquer cela, nous allons jeter un œil à la classe ci-dessous.

Ici, la physique, la chimie et la biologie sont du type double et sont des variables privées. GetTotalMarks () est une méthode publique utilisée pour récupérer les notes totales des trois sujets. Nous ne pouvons pas accéder à chaque sujet dans une autre classe en raison de son niveau de protection. Mais nous pouvons accéder à la méthode et pouvons être utilisés pour récupérer les notes totales en passant des notes de sujet individuelles. Nous pouvons définir les marques de chaque sujet en utilisant la méthode setter, que nous examinerons dans l'exemple suivant.

Exemple d'encapsulation en C ++ avec étapes

Vous trouverez ci-dessous les instructions étape par étape pour implémenter l'encapsulation.

1) Considérons le scénario dans lequel nous devons calculer les notes totales de l'étudiant en calculant la somme dans trois matières, à savoir la physique, la chimie et la biologie. Mais la condition est telle qu'une autre classe

2) Tout d'abord, incluez l'iostream pour les fonctionnalités d'entrée et de sortie.

3) Utilisez l'espace de noms std

4) Écrivez une classe pour contenir toutes les données et fonctions. Que ce soit étudiant.

5) Déclarez les variables privées physique, chimie et biologie. Cela indique que nous ne pouvons pas accéder aux variables en dehors de cette classe Student. Mais nous pouvons y accéder localement et modifier la valeur si nécessaire. Afin de modifier la valeur, nous pouvons écrire une fonction de définition publique et y accéder dans une autre classe.

6) Écrivez une fonction appelée SetMarks, qui sera utilisée pour définir les valeurs des variables privées. Comme nous ne pouvons pas accéder aux variables privées physique, chimie et biologie en dehors de la classe des étudiants, nous avons besoin de cette fonction pour définir ces valeurs à partir de la classe externe. Cette méthode sera publique car nous devons y accéder en dehors de la classe. Nous avons besoin de trois paramètres pour obtenir les valeurs de chaque sujet. À l'intérieur de la fonction, nous allons définir la valeur des variables privées.

7) Nous avons besoin d'une méthode supplémentaire pour obtenir les notes totales des trois sujets en ajoutant les notes. Cette méthode est également publique. Appelez simplement cette méthode en dehors de la classe et nous obtiendrons la somme des notes des trois sujets.

8) Maintenant en dehors de cette classe, nous allons écrire la fonction principale.

9) Dans la fonction principale, nous allons d'abord accéder à l'élève de la classe et créer un objet de la classe.

10) Dans l'étape suivante, nous appellerons la fonction pour définir les notes des trois sujets. Ici, nous passerons les marques comme paramètres à la fonction. Voici le morceau de code pour y parvenir.

11) Ensuite, nous obtiendrons le total des marques et imprimerons la valeur. Et retournez 0 à la fin.

12) Pouvez-vous deviner la sortie du code? Tu as raison. La sortie est illustrée ci-dessous.

Sortie: 240

13) Nous allons maintenant analyser comment nous avons obtenu cette sortie. Comme nous ne pouvions pas accéder aux variables privées, nous avons écrit une fonction Setter qui prend les valeurs des autres classes et modifie les variables. La fonction Getter récupère les variables, les ajoute et envoie les notes totales de l'élève. Chaque fois que nous passons trois valeurs différentes à la fonction setter, nous pouvons voir que le nombre total de notes que nous obtenons varie également en conséquence.

14) À partir de cela, nous pouvons dire que l'encapsulation nous aide à protéger certaines des données nécessaires et que les fonctions setter et getter sont utilisées pour modifier leurs valeurs. En faisant cela. La protection est également obtenue sans entraver notre objectif.

Conclusion

Dans cet article, nous avons appris comment l'encapsulation peut être réalisée en C ++. Ce faisant, nous pouvons obtenir les avantages suivants.

  • Les classes après encapsulation augmentent la lisibilité et réduisent la complexité.
  • Il aide à protéger les données.
  • La confidentialité des données de la classe peut être modifiée sans modifier tout le code en utilisant des modificateurs d'accès.

Articles recommandés

Ceci est un guide de l'encapsulation en C ++. Nous expliquons ici comment utiliser l'encapsulation en C ++ avec l'exemple d'encapsulation en C ++ avec étapes. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Algorithme de cryptage
  2. Cryptage à clé symétrique
  3. Qu'est-ce que le cryptage?
  4. Introduction à l'encapsulation en C
  5. Encapsulation en JavaScript (Avantages)
  6. Modificateurs d'accès en PHP