Encapsulation vs Abstraction
L'encapsulation et l'abstraction sont deux concepts différents mais apparentés que l'on retrouve dans les langages de programmation orientée objet. L'encapsulation est le concept de combinaison de données et de comportement en une seule entité. En revanche, l’abstraction est le processus de présentation du comportement d’une entité \ de son apparence par opposition à la manière dont elle est mise en œuvre..
Qu'est-ce que l'encapsulation??
L'encapsulation est le processus qui consiste à regrouper les données et les opérations qui les exploitent dans une seule entité. Cela signifie essentiellement que pour accéder aux données, certaines méthodes prédéfinies doivent être utilisées. En d'autres termes, les données encapsulées ne sont pas directement accessibles. Cela garantit que l'intégrité des données est préservée, car l'utilisateur ne peut pas accéder directement aux données ni les modifier à sa guise. Les utilisateurs obtiendront ou définiront les valeurs de données uniquement par le biais des méthodes accessibles au public. Ces méthodes fournissent généralement une validation des données, de sorte que seules les données au format approprié puissent être insérées dans les champs. Par conséquent, les avantages de l’encapsulation sont triples. Grâce à Encapsulation, le programmeur peut créer des champs d'une classe en lecture seule ou en écriture uniquement. Deuxièmement, une classe peut avoir un contrôle total sur ce qui est stocké dans ses champs. Enfin, les utilisateurs d'une classe n'ont pas à s'inquiéter de la manière dont ses données sont stockées. En Java, le programmeur peut déclarer toutes les variables d'instance privées et fournir des méthodes get et set (publiques) pour accéder aux champs privés et les modifier..
Qu'est-ce que l'abstraction??
L'abstraction consiste à séparer les détails de la présentation des détails de la mise en oeuvre. Ceci est fait pour que le développeur soit déchargé des détails d'implémentation plus complexes. Au lieu de cela, le programmeur peut se concentrer sur la présentation ou les détails comportementaux de l'entité. En termes simples, l'abstraction se concentre sur la manière dont une entité donnée peut être utilisée plutôt que sur la manière dont elle est mise en œuvre. L'abstraction cache essentiellement les détails de la mise en œuvre, de sorte que même si la méthodologie de mise en œuvre change avec le temps, le programmeur n'aura pas à s'inquiéter des conséquences pour son programme. Un système peut être résumé en plusieurs couches ou niveaux. Par exemple, les couches d'abstraction de bas niveau révéleront les détails du matériel, tandis que les abstractions de haut niveau ne feront que révéler la logique métier de l'entité. Le terme abstraction peut être utilisé pour désigner à la fois une entité et un processus, ce qui entraîne une certaine confusion. En tant que processus, abstraction signifie extraire des détails essentiels tout en ignorant les détails non essentiels d'un élément ou d'un groupe d'éléments, tandis qu'en tant qu'entité, abstraction signifie un modèle ou une vue d'une entité ne contenant que les détails essentiels. En Java, le programmeur peut utiliser le mot-clé abstract pour déclarer une classe en tant qu'entité abstraite, ce qui représente les caractéristiques essentielles qui définissent une entité du monde réel..
Quelle est la différence entre Encapsulation et Abstraction?
Bien que l'encapsulation et l'abstraction soient des concepts étroitement liés que l'on trouve dans les langages de programmation orientée objet, ils présentent des différences essentielles. L'abstraction est une technique qui nous aide à identifier ce qui devrait être visible et ce qui devrait être caché. L'encapsulation est une technique permettant de conditionner les informations de manière à rendre visible ce qui devrait être visible et à masquer ce qui devrait être caché. En d'autres termes, l'encapsulation peut être identifiée comme une étape au-delà de l'abstraction. Alors que l'abstraction réduit un objet du monde réel à ses caractéristiques essentielles, l'encapsulation étend cette idée en modélisant et en liant cette fonctionnalité de cette entité.