Différence entre abstraction et encapsulation

Dernière mise à jour : 24/04/2023

Qu’est-ce que l’abstraction et l’encapsulation ?

La abstraction et le encapsulation Ce sont deux concepts essentiels en programmation orienté objet (CACA). Les deux servent à organiser et structurer notre code et à éviter d’éventuelles erreurs ou conflits.

Abstraction

La abstraction est le processus d’identification des caractéristiques essentielles d'un objet et omettre les fonctionnalités non essentielles. En programmation POO, l'abstraction nous permet de créer une classe sans nous soucier des détails internes de son implémentation.

Par exemple, si nous créons un jeu de course, nous pouvons créer une classe « Voiture » ​​qui possède des propriétés telles que « Vitesse » ou « Accélération », mais nous n'avons pas besoin de savoir comment fonctionne le moteur ou comment la puissance est transmise au moteur. roues.

Exemple:

Regardons un exemple de code qui illustre l'abstraction :

classe Voiture {privé int CurrentSpeed ; accélération int privée ; voiture publique() { currentSpeed ​​​​= 0; accélération = 0 ; } public void accéléré(int incrément) { accélération += incrément; } public void decelerate(int décrément) { accélération -= décrémentation ; } // Autres propriétés et méthodes... }
  

Dans cet exemple, nous créons une classe « Voiture » ​​qui possède deux propriétés (vitesse et accélération actuelles) et deux méthodes (accélération et freinage). Cependant, nous n’avons pas besoin de connaître les détails internes du mouvement de la voiture et nous pouvons travailler avec elle comme s’il s’agissait d’une entité abstraite.

Contenu exclusif - Cliquez ici  Vous êtes confus entre Token Ring et Ethernet ? : découvrez les principales différences pour un réseau plus efficace

Encapsulation

La encapsulation, d'autre part, est le processus consistant à masquer ou à protéger les détails internes d'une classe et à autoriser uniquement l'accès via une interface publique. Ceci est fait pour éviter d'éventuels conflits ou erreurs.

Par exemple, si nous avons une classe « Personne » avec des propriétés telles que « Âge » ou « Nom », nous voulons nous assurer qu'elles ne peuvent pas être modifiées par inadvertance depuis l'extérieur de la classe. Pour ce faire, nous pouvons définir ces propriétés comme privées et créer des méthodes publiques pour y accéder, telles que "getAge()" ou "setName()".

Exemple:

Regardons un exemple de code qui illustre l'encapsulation :

classe Personne { âge int privé ; nom de chaîne privé ; public Person(int e, String n) { age = e; nom = n; } public int getAge() { age de retour ; } public String getName() { nom de retour ; } public void setName(String n) { nom = n; } // Autres propriétés et méthodes... }
  

Dans cet exemple, nous créons une classe "Person" avec deux propriétés (age et name) et plusieurs méthodes pour y accéder (getAge, getName et setName). Mais ces propriétés ne sont accessibles que depuis l’intérieur de la classe, ce qui les protège d’éventuelles erreurs ou conflits.

Contenu exclusif - Cliquez ici  Différence entre mot-clé et identifiant

Conclusion

En résumé, le abstraction et le encapsulation sont deux concepts clés de la programmation orientée objet. L'abstraction nous permet de travailler avec des entités abstraites sans nous soucier des détails internes de leur implémentation, tandis que l'encapsulation nous permet de protéger les détails internes d'une classe et d'autoriser uniquement l'accès via une interface publique.

Il est essentiel de comprendre ces concepts afin de concevoir et développer des programmes orientés objet efficaces et bien structuré.

Références