Abstracció (informàtica)

De Viquipèdia
Dreceres ràpides: navegació, cerca

En informàtica l'abstracció consisteix a aïllar un element del seu context o de la resta dels elements que l'acompanyen. A Programació d'ordinadors, el terme es refereix a l'èmfasi en el "què fa?" més que en el "com ho fa?" (Característica de caixa negra). El comú denominador en l'evolució dels llenguatges de programació, des dels clàssics o imperatius fins als orientats a objectes, ha estat el nivell d'abstracció del qual cada un d'ells fa ús.

Els llenguatges de programació són les eines mitjançant les quals els dissenyadors de llenguatges poden implementar els models abstractes. L'abstracció oferta pels llenguatges de programació es pot dividir en dues categories: abstracció de dades (pertanyents a les dades) i abstracció de control (pertanyent a les estructures de control).

Els diferents paradigmes de programació han augmentat el seu nivell d'abstracció, començant des dels llenguatges de màquina, el més pròxim al ordinador i més llunyà a la comprensió humana, passant pels llenguatges de comandaments, els imperatius, l'orientació a objectes (OO), l'programació orientada a aspectes (POA); o altres paradigmes com la programació declarativa, etc.

L'abstracció encarada des del punt de vista de la programació orientada a objectes expressa les característiques essencials d'un objecte, les quals distingeixen a fi dels altres. A més de distingir entre els objectes proveeix límits conceptuals. Llavors es pot dir que l'encapsulació separa les característiques essencials de les no essencials dins d'un objecte. Si un objecte té més característiques de les necessàries dels mateixos resultaran difícils d'usar, modificar, construir i comprendre.

La mateixa genera una il·lusió de simplicitat donat al fet que minimitza la quantitat de característiques que defineixen un objecte.

Durant anys, els programador és s'han dedicat a construir aplicacions molt semblants que resolien una vegada i una altra els mateixos problemes. Per aconseguir que els seus esforços poguessin ser utilitzats per altres persones es va crear la POO que consisteix en una sèrie de normes per garantir la interoperabilitat entre usuaris de manera que l'codi es pugui reutilitzar.

Ús[modifica | modifica el codi]

A grans trets, l'abstracció, permet que disposem de les característiques d'un objecte que necessitem. Si necessitem l'objecte Persona , podríem posar nom, edat, adreça, estat civil, etc. Si ho necessitem en un sistema administratiu, però, si ho requerim per a l'àrea de biologia, dins dels seus atributs potser tinguem, ADN, RND, Gen x1, Gen x2, etc. I els atributs abans esmentats no siguin requerits. En general, podem dir que Persona compta amb tots els atributs esmentats aquí, però, pel procés d'abstracció excloem tots aquells, que no té cabuda en el nostre sistema.

Exemple[modifica | modifica el codi]

Pensar en termes d'objectes és molt semblant a com ho faríem en la vida real. Una analogia seria modelitzar un cotxe en un esquema de POO. Diríem que el cotxe és l'element principal que té una sèrie de característiques, com podrien ser el color, el model o la marca. A més té una sèrie de funcionalitats associades, com ara posar en marxa, parar o aparcar. En un esquema POO el cotxe seria l'objecte, les propietats serien les característiques com el color o el model i els mètodes serien les funcionalitats associades com posar-se en marxa o parar.

Per posar un altre exemple ara veurem com modelitzar en un esquema POO una fracció, és a dir, l'estructura matemàtica que té un numerador i un denominador que el divideix, com ara 3/2. La fracció serà l'objecte i tindrà dues propietats, el numerador i el denominador. Després podria tenir diversos mètodes com simplificar, sumar-se amb una altra fracció o nombre, restar amb una altra fracció, etc.

Aquests objectes són utilitzables en els programes, per exemple en un programa de matemàtiques es pot fer ús d'objectes fracció i en un programa que gestioni un taller de cotxes, objectes cotxe. Els programes orientats a objectes utilitzen molts objectes per realitzar les accions que es volen fer i ells mateixos també són objectes. És a dir, el taller de cotxes serà un objecte que utilitzarà objectes cotxe, eina, mecànic, recanvis, etc.