encapsulation c
Une vue d'ensemble complète de l'encapsulation en C ++:
Nous avons discuté de l'abstraction en détail dans notre précédent tutoriel. L'abstraction, comme nous le savons, cache les détails de l'implémentation à l'utilisateur et n'expose que l'interface requise par l'utilisateur.
Dans ce didacticiel, nous aborderons une autre caractéristique importante de la POO, à savoir l'encapsulation. L'abstraction et l'encapsulation vont de pair. En fait, nous pouvons dire que le code encapsulé nous aide dans l'abstraction. En d'autres termes, l'encapsulation et l'abstraction sont étroitement liées.
=> Visitez ici pour le cours C ++ complet d'experts.
les périphériques de modèle osi utilisent chaque couche
Ainsi, nous pouvons discuter ces deux concepts ensemble car il existe une ligne très fine entre l'encapsulation et l'abstraction.
Ce que vous apprendrez:
- Qu'est-ce que l'encapsulation?
- Mise en œuvre de l'encapsulation
- Différence entre l'encapsulation et l'abstraction
- Conclusion
- lecture recommandée
Qu'est-ce que l'encapsulation?
L'encapsulation de données fait référence au processus de liaison des données et des fonctions ou méthodes opérant sur ces données dans une seule unité afin qu'elle soit protégée contre les interférences extérieures et les abus.
Il s'agit d'un concept de programmation orienté objet important qui conduit à un autre concept de POO connu sous le nom de « Masquage des données ». L'encapsulation masque les données et leurs membres tandis que l'abstraction n'expose que les détails ou interfaces nécessaires avec le monde extérieur.
D'une certaine manière, l'abstraction présente la «vue abstraite» des données cachées au monde extérieur. Ainsi, nous avons déjà déclaré que l'encapsulation et l'abstraction vont de pair.
Une classe en C ++ est celle où nous regroupons les membres de données et les fonctions opérant sur ces membres de données avec des spécificateurs d'accès tels que private, public et protected représentent l'encapsulation. Nous avons déjà discuté des spécificateurs d'accès dans notre précédent tutoriel sur les classes et les objets.
Nous savons également que par défaut, les membres de la classe sont privés. Lorsque nous déclarons des membres de classe comme privés et des méthodes pour accéder aux membres de classe comme publiques, nous implémentons réellement l'encapsulation. Dans le même temps, nous fournissons une vue abstraite des données au monde extérieur sous la forme de méthodes publiques.
comment tester l'application client-serveur
Mise en œuvre de l'encapsulation
L'encapsulation en C ++ est implémentée en tant que classe qui regroupe les données et les fonctions opérant sur ces données ensemble. La plupart des données sont déclarées comme privées afin qu'elles ne soient pas accessibles en dehors de la classe. Les méthodes ou fonctions sont déclarées comme publiques et sont accessibles à l'aide de l'objet de la classe.
Cependant, nous ne pouvons pas accéder directement aux membres privés et cela s'appelle le masquage de données. Lorsque cela est fait, les données sont sécurisées et ne sont accessibles que par les fonctions de cette classe particulière dans laquelle les données sont déclarées.
// Example program #include #include using namespace std; //example class to demonstrate encapsulation class sampleData{ int num; char ch; public: //getter methods to read data values int getInt() const{ return num; } char getCh() const{ return ch; } //setter methods to set data values void setInt(int num) { this->num = num; } void setCh(char ch){ this->ch = ch; } }; int main() { sampleData s; s.setInt(100); s.setCh('Z'); cout<<'num = '< Production:
num = 100
ch = Z

Dans le programme ci-dessus, nous avons regroupé deux variables membres ainsi que les méthodes getter et setter dans une classe. et ceci est un exemple d'encapsulation.
Nous avons déclaré deux variables à savoir num et ch en tant que variables privées afin qu'elles ne soient pas accessibles au monde extérieur. Ils ne sont accessibles qu'aux fonctions que nous avons déclarées publiques. Ainsi, nous avons masqué des membres de données en tant que variables privées dans une classe.
Prenons un autre exemple pour mieux comprendre l'encapsulation en C ++.
#include #include using namespace std; //Accounts class: includes salary info for a particular employee class Accounts{ int empId; double salary, basic, allowances, deductions; public: Accounts(int empId):empId(empId){} //read salary info void readEmployeeInfo(int empId){ cout<<'Enter basic for the employee'< basic; cout<>allowances; cout<>deductions; } //calculate salary double calculateSalary(){ salary = basic+ allowances - deductions; return salary; } //display details void display(){ salary = calculateSalary(); cout<<'Employee: '< Production:
Entrez de base pour l'employé1: 10000
indemnités: 4324,43
déductions: 1000
Employé: 1
Salaire: 13324.4
comment ouvrir les fichiers torrent mac

Ceci est encore un autre exemple d'encapsulation. Comme indiqué ci-dessus, nous avons une classe Comptes qui regroupe les données de compte et toutes les fonctions qui opèrent sur ces données dans une seule classe Comptes. Dans la fonction principale, nous pouvons créer un objet de cette classe et accéder aux fonctions pour obtenir les informations souhaitées.
Maintenant, si d'autres classes disent que les détails de l'employé veulent accéder aux données des comptes, elles ne peuvent pas le faire directement. Il devra créer un objet de classe Comptes et ne pourra accéder qu'aux éléments qui sont publics. De cette façon, en utilisant l'encapsulation, nous garantissons le contrôle d'accès des données et assurons également l'intégrité des données.
Différence entre l'encapsulation et l'abstraction
L'abstraction et l'encapsulation sont étroitement liées. L'encapsulation aide à l'abstraction en regroupant les données et les méthodes opérant sur ces données ensemble.
Encapsulation Abstraction Cache les données Masque la mise en œuvre Regroupe les données et les méthodes Fournit une interface abstraite à l'utilisateur en exposant uniquement ce qui est requis Aide à l'abstraction Aide à la réutilisation et à la sécurité du code. Implémenté en tant que classe avec des spécificateurs d'accès définissant l'accès aux membres de données et aux méthodes Implémenté en tant que classe abstraite et interfaces qui ne peuvent pas être instanciées.
Conclusion
L'encapsulation est l'une des fonctionnalités les plus importantes de la POO car elle nous permet de masquer les données. Ceci, à son tour, sécurise les données et les protège contre toute utilisation malveillante.
L'encapsulation aide à l'abstraction, de sorte que nous pouvons exposer uniquement l'interface requise à l'utilisateur final et masquer les autres détails en conséquence. Dans ce didacticiel, nous avons examiné les concepts d'abstraction et d'encapsulation en C ++.
Dans notre prochain didacticiel, nous aborderons l'héritage en C ++ avec des exemples.
=> Visitez ici pour la série de didacticiels de formation C ++ exclusifs.
lecture recommandée
- Abstraction de données en C ++
- Types de données C ++
- Meilleure série de didacticiels C # GRATUITS: Le guide ultime de C # pour les débutants
- Plus de 70 meilleurs didacticiels C ++ pour apprendre la programmation C ++ gratuitement
- Fonctions de bibliothèque en C ++
- Programmation orientée objet en C ++
- Introduction aux structures de données en C ++
- Listes d'initialisation en C ++