Qu’entend-on par « encapsulation » en matière de programmation informatique ?


En termes normaux, l'encapsulation est définie comme l'enveloppement des données et des informations sous une seule unité. Dans la programmation orientée objet, l'encapsulation est définie comme le fait de lier ensemble les données et les fonctions qui les manipulent.
Considérez un exemple réel d'encapsulation, dans une entreprise, il y a différentes sections comme la section des comptes, la section des finances, la section des ventes, etc. La section financière gère toutes les transactions financières et conserve les enregistrements de toutes les données liées aux finances. De même, la section des ventes s'occupe de toutes les activités liées aux ventes et conserve les enregistrements de toutes les ventes. Il peut arriver que, pour une raison quelconque, un fonctionnaire de la section financière ait besoin de toutes les données relatives aux ventes d'un mois donné. Dans ce cas, il n'est pas autorisé à accéder directement aux données de la section des ventes. Il devra d'abord contacter un autre agent de la section des ventes, puis lui demander de fournir les données en question. C'est ce qu'est l'encapsulation. Ici, les données de la section des ventes et les employés qui peuvent les manipuler sont enveloppés sous un seul nom "section des ventes".


L'encapsulation conduit également à l'abstraction ou à la dissimulation des données. Comme l'utilisation de l'encapsulation cache également les données. Dans l'exemple ci-dessus, les données de l'une des sections comme les ventes, les finances ou les comptes sont cachées de toute autre section.

Rôle des spécificateurs d'accès dans l'encapsulation


Comme nous l'avons vu dans l'exemple ci-dessus, les spécificateurs d'accès jouent un rôle important dans la mise en œuvre de l'encapsulation en C++. Le processus de mise en œuvre de l'encapsulation peut être subdivisé en deux étapes :

  1. Les membres de données doivent être étiquetés comme privés en utilisant les spécificateurs d'accès privés
  2. La fonction membre qui manipule les membres de données doit être étiquetée comme publique en utilisant le spécificateur d'accès public

.