L’abstracció i l’encapsulament són conceptes bàsics de la programació orientada a objectes (OOP) que permeten incrustar objectes del món real en programes i codis. Quan els dos s’uneixen, són molt diferents entre ells. Tot i que cada mètode està encapsulat, és abstracte. En poques paraules, quan combines diferents coses per crear un individu, realment crees el concepte: l’abstracte. Tot i que tots dos estan separats tècnicament, són literalment inexistents. És gairebé cert que cada encapsulació és abstracta perquè amaguen tots dos, però les diferències són iguals.

Quina és la conclusió?

L’abstracció és un concepte clau de les OOP que només se centra en la informació específica d’objecte i enfosqueix tota la informació sense importància que pot ser o no general o especialitzada. Amaga detalls i destaca aspectes importants per reduir la complexitat i augmentar l'eficiència. Bàsicament, l’abstracció és una eina de programari per gestionar la complexitat. L’abstracció se centra en idees, no en esdeveniments. Oculta dades a nivell de disseny proporcionant als usuaris la funcionalitat. L’objecte resultant també es pot anomenar abstracte. El programador s’assegura que l’objecte nomenat conté tots els elements imprescindibles i que no sigui trivial.

Prenem un exemple d’abstracció real. En aquest cas, considereu l’estat del vehicle que és el vostre vehicle. El mecànic intentarà arreglar el cotxe o diguem-ne una determinada part del cotxe. Aquí teniu l'usuari i no voleu accedir a les funcions de la vostra màquina ni a quina part d'ella està realment trencada. No t’importa gaire aquestes coses; Només vol que el cotxe torni al seu estat original sense preocupar-se dels detalls. Així que en realitat li heu dit al mecànic què voleu fer aïllant la part de compliment. Això és abstracte. T’has centrat en el més important per arreglar el teu cotxe, no en les teves funcions.

Diferència entre abstracció i encapsulació

Què és l'encapsulació?

L’encapsulació és un altre concepte OOP que combina dades i funcions en una part i limita l’accés a certes parts. És un dels conceptes bàsics d’OOP que combina dades i informació en una unitat. Des d’un punt de vista tècnic, l’encapsulat consisteix a ocultar atributs que protegeixen els atributs d’accés extern de manera que els canvis d’una part del programa no afectin les altres components. Per contra, en fer les dades més transparents, corre el risc de mal ús. Proporciona integritat bàsica protegint les dades del món exterior. Simplement, amaga detalls addicionals del món exterior.

Prenem l’exemple d’un ratolí Bluetooth. Només cal saber quin tipus de ratolí és el sensor, tant si és inalàmbric com si no, com ara el funcionament del dispositiu, sense preocupar-se dels detalls de la implementació. Cada detall caracteritza el ratolí, però, malgrat els detalls, només és el ratolí. Només necessiteu la interfície per utilitzar el ratolí, en aquest cas el punter del ratolí. És una càpsula.

Diferència entre abstracció i encapsulació

Tot i que tots dos són conceptes fonamentals relacionats amb les OOP i estan entrellaçats tècnicament, presenten moltes diferències.

  1. Diferències de definició i abstracció i encapsulació: l'abstracció és un concepte clau de l'OPA i posa l'accent en tots els aspectes importants d'un objecte en ocultar detalls insignificants per augmentar l'eficiència i eliminar la complexitat. Al seu torn, l'encapsulació és un mecanisme per ocultar informació i situar informació i dades en una càpsula per restringir l'accés al món exterior. Diferències en la "funcionalitat" de l'abstracció i l'encapsulació: l'abstracció és un mecanisme per ocultar informació que posa èmfasi només en les característiques essencials per simplificar aplicacions complexes i, d'altra banda, una manera de vincular dades i codis a un sol objecte. La idea és protegir els detalls de la implementació de l'accés extern. Diferències entre abstracció i encapsulació: l'abstracció es realitza mitjançant una classe i una interfície abstractes i l'encapsulació amb modificadors d'entrada. S’utilitzen cinc modificadors diferents per encapsular dades: privats, públics, interns, protegits i protegits internament. Les diferències dins del "concepte" d'abstracció i encapsulació són el que se centra en allò que no és la idea d'abstracció. L’encapsulat amaga la seva mecànica interna. Per exemple, quan conduïu un cotxe, ja sabeu exactament el que fa el pedal de fre, però és possible que no conegueu completament el seu mecanisme perquè les dades estan capsificades. Diferenciació de "abstracció" i "encapsulació": Prenem com a exemple un telèfon intel·ligent. Saps el que fa, però potser no saps com ho fa. No només us preocupa el seu circuit intern, també us preocupa la pantalla de pantalla i les tecles del teclat. Aquí el telèfon intel·ligent és abstracte i cobreix els detalls de la implementació interna.

Taula de comparació i resum

Resum

Tot i que tots dos són conceptes OOP relacionats amb l’amagatall de dades, són molt diferents entre si. L’abstracció també s’aplica a l’ocultació, com ara l’encapsulació, però la primera oculta la complexitat mentre que l’altra controla l’accés a ella i emmagatzema la informació que conté. L’abstracció és el concepte de mostrar només les característiques necessàries amagant detalls poc importants per reduir la complexitat de l’aplicació. Al seu torn, encapsulació significa el concepte d’amagar tota la mecànica interna del programa per protegir les dades d’accés no desitjat. Limita l’accés a altres components i combina dades i dades en un component.

Referències

  • Compra. Programació orientada a objectes amb Java: conceptes bàsics i aplicacions. NYC: Tata McGraw-Hill Education, 2009. Impressió
  • McConnell, Steve. Codi completat (2a edició). Londres: Pearson Education, 2004. Impressió
  • Michelsen, Klaus. C # Primer Plus. Indianapolis: Sams Publishing, 2002. Impressió
  • "Crèdit d'imatge: https://stackoverflow.com/questions/742341/difference-between-abstraction-and-encapsulation"