Différence entre l'abstraction et l'encapsulation Différence Entre

Anonim

, vous devez implémenter des objets du monde réel dans des programmes et des codes. Bien que les deux vont de pair, ils sont très différents les uns des autres. Bien que chaque méthode soit une encapsulation, c'est aussi une abstraction. En termes simples, lorsque vous mettez des choses différentes ensemble pour créer une entité, vous créez réellement un concept - un résumé. Alors que les deux sont techniquement inséparables, ils n'ont littéralement rien en commun. Il est presque vrai que chaque encapsulation est une abstraction parce qu'ils cachent quelque chose, cependant, ils ont leur juste part de différences.

Qu'est-ce que l'abstraction?

L'abstraction est un concept OOP de base qui se concentre uniquement sur les données pertinentes d'un objet et masque tous les détails non pertinents qui peuvent ou non être des comportements génériques ou spécialisés. Il cache les détails de l'arrière-plan et met l'accent sur les points essentiels pour réduire la complexité et augmenter l'efficacité. Fondamentalement, l'abstraction est un outil de programmation pour gérer la complexité. L'abstraction se concentre sur des idées plutôt que sur des événements. Il cache les détails sur le niveau de conception en fournissant des fonctionnalités aux utilisateurs. L'objet résultant peut également être appelé une abstraction. Le programmeur s'assure que l'entité nommée aura tous les aspects essentiels inclus et aucun des aspects non pertinents.

Prenons un exemple concret d'abstraction. Considérons le cas d'un véhicule, qui dans ce cas est votre véhicule. Un mécanicien essaie de réparer votre voiture ou disons une partie spécifique de votre voiture. Ici, vous êtes l'utilisateur et vous ne voulez pas entrer dans les détails de votre voiture ou quelle partie a réellement cassé. Vous ne vous souciez pas vraiment de ces choses; Vous voulez simplement que votre véhicule revienne dans son état d'origine sans vous soucier des détails. Donc, vous avez dit au mécanicien ce que vous voulez en séparant la partie mise en œuvre. C'est de l'abstraction. Vous vous êtes concentrés sur la chose la plus essentielle, qui est de faire réparer votre voiture, plutôt que de vous concentrer sur les détails.

Qu'est-ce que l'encapsulation?

L'encapsulation est un autre concept de POO qui lie les données et les fonctions en un seul composant tout en limitant l'accès à certains composants. C'est l'un des principaux concepts fondamentaux de la POO qui englobe les données et les informations dans une seule unité. En termes techniques, l'encapsulation consiste à masquer les attributs pour protéger les variables de l'accès extérieur, de sorte que les modifications apportées à une partie d'une application n'affectent pas les autres parties. Au contraire, en rendant l'information plus ouverte, vous risquez une mauvaise utilisation des données. Il fournit une intégrité de base aux données en les protégeant du monde extérieur. En termes simples, il cache les détails supplémentaires du monde extérieur.

Prenons un exemple de souris Bluetooth.Vous n'avez besoin de connaître le comportement de l'appareil sans vous soucier des détails de l'implémentation, tels que les types de capteurs de la souris, sans fil ou non, etc. Chaque détail décrit la souris, mais peu importe les détails, c'est juste une souris. Vous avez juste besoin d'une interface pour utiliser la souris, qui dans ce cas est le pointeur de la souris. C'est l'encapsulation.

Différence entre l'abstraction et l'encapsulation

Bien que tous deux soient des concepts fondamentaux liés à la POO et qu'ils soient techniquement inséparables, ils ont encore leurs différences sous de nombreux aspects.

  1. Différences dans la "Définition" de l'Abstraction et de l'Encapsulation - L'abstraction est un concept fondamental de POO qui met l'accent sur tous les aspects essentiels d'un objet en cachant les détails non pertinents pour augmenter l'efficacité et éliminer la complexité. D'autre part, l'encapsulation est un mécanisme de dissimulation de données qui enveloppe les données et les informations dans une capsule pour restreindre l'accès du monde extérieur.
  2. Différences de "Fonctionnalité" d'Abstraction et d'Encapsulation - L'abstraction est un mécanisme de dissimulation des données qui ne met en évidence que les caractéristiques essentielles pour simplifier les programmes complexes, tandis que l'encapsulation est une méthode de liaison. données et codes dans une seule entité. L'idée est de protéger les détails d'implémentation de l'accès externe.
  3. Différences dans la "mise en œuvre" de l'abstraction et de l'encapsulation - L'abstraction est implémentée en utilisant une classe abstraite et une interface, tandis que l'encapsulation est implémentée en utilisant des modificateurs d'accès. Cinq types de modificateurs sont utilisés pour encapsuler les données: Privé, Public, Interne, Protégé et Protégé Interne.
  4. Différences dans le "Concept" de l'Abstraction et de l'Encapsulation - L'idée derrière l'abstraction est de se concentrer sur quoi plutôt que comment. L'encapsulation cache la mécanique interne du comment. Par exemple, lorsque vous conduisez une voiture, vous savez exactement ce que fait la pédale de frein, mais vous ne connaissez peut-être pas tout le mécanisme derrière elle parce que les données sont encapsulées.
  5. Différences dans "Exemple" d'Abstraction et d'Encapsulation - Prenons l'exemple d'un smartphone. Vous savez ce que ça fait mais vous ne savez peut-être pas ce que ça fait. Vous vous souciez uniquement de l'écran d'affichage et des touches du pavé numérique plutôt que de vous soucier de ses circuits internes. Ici, smartphone est un résumé où les détails d'implémentation internes sont encapsulés.

Abstraction vs. Encapsulation avec la table de comparaison

Abstraction Encapsulation
Elle ne traite que les détails pertinents en masquant ceux qui ne sont pas pertinents pour réduire la complexité, augmentant ainsi l'efficacité. Il lie les données et les informations en une seule entité pour protéger les données provenant de sources externes.
Il s'agit de cacher des données qui ne sont pas nécessaires à des fins de présentation. Il cache les données et le code afin de restreindre l'accès indésirable.
Il se concentre sur quoi plutôt que comment. Il cache la mécanique interne de la façon dont il fait quelque chose.
Il cache les détails inutiles au niveau du design. Il cache aussi les détails mais au niveau de l'implémentation.
Les informations et les données sont séparées des données pertinentes. L'information est cachée à l'intérieur d'une capsule pour un accès restreint.
Il s'agit d'idées plutôt que d'événements. L'idée est de protéger les données du monde extérieur.
Il est implémenté en utilisant une classe et une interface abstraites. Il est implémenté à l'aide de modificateurs d'accès protégés, privés et de type paquet-privé.

Résumé

Bien que tous deux soient des concepts de POO liés à la dissimulation de données, ils sont assez différents les uns des autres. L'abstraction se rapporte aussi à la dissimulation comme à l'encapsulation, mais tandis que la première masque la complexité, la seconde conserve les données qu'elle encapsule en contrôlant l'accès à celles-ci. L'abstraction fait référence au concept consistant à représenter uniquement les caractéristiques nécessaires en cachant les détails non pertinents pour réduire la complexité d'une application, augmentant ainsi l'efficacité. D'autre part, l'encapsulation fait référence au concept de cacher toute la mécanique interne d'un programme afin de protéger l'information d'un accès indésirable. Il lie les données et les informations en un seul composant en limitant l'accès aux autres composants.