Abstracció (informàtica)

De Viquipèdia
Dreceres ràpides: navegació, cerca
caixa negra
Esquema d'una caixa negra.

En l'informàtica, l'abstracció és un procés que consisteix en aïllar un concepte d’un context específic o dels altres conceptes que l'acompanyen. En Programació, el terme dona sentit a "què fa?" i no a "com ho fa?" (Característica de caixa negra). Des dels llenguatges clàssics o imperatius fins als orientats a objectes, el comú denominador en l'evolució dels llenguatges de programació, ha estat el nivell d'abstracció del qual cada un d'ells fa ús.

Els llenguatges de programació són les eines que els dissenyadors de llenguatges usen per poder implementar els models abstractes. L'abstracció que ofereix els llenguatges de programació es pot dividir en dues categories:

  • Abstracció de dades (pertanyents a les dades).

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 (POO), 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 al propi objecte 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, resultarà més difícil 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 programadors 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 el 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.