Abstracció (informàtica)

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

L'abstracció és l'eina de gestió de la complexitat per a un sistema de computació. Consisteix a aïllar un element dels elements que l’acompanyen i/o el componen. Per exemple, quan en una capa del sistema es treballa amb nombres, no interessa posar atenció als detalls de la representació dels nombres ( com per exemple la seva representació al hardware en forma de bits), així que simplement s'abstrauen aquests detalls, amagant-los en capes inferiors, permetent treballar directament amb els nombres. En altres paraules, l'abstracció és el que permet oblidar-se dels detalls innecessaris a cada moment i centrar-se en el problema immediat.[1]

L'abstracció tant pot aplicar-se a control com a dades: L'abstracció de control és l'abstracció d'accions, mentre que la de dades és l'abstracció d'estructures de dades.

- L'abstracció de control consisteix en la utilització de subprogrames i l'establiment del flux de control (les particions i l'ordre en què s'avalua i executa un programa).

- L'abstracció de dades consisteix en la partició de les dades en fragments autocontinguts i amb sentit.

Abstracció de control[modifica | modifica el codi]

Una computadora, per efectuar operacions simples com les aritmètiques, necessita efectuar accions com moure bits d’un lloc a un altre, fer comparacions, etc. A l’hora de codificar, però. Aquests passos s’ometen, i simplement se li especifica a la computadora l'operació aritmètica, abstraient-se dels detalls de l’execució. El mateix passa amb totes les accions: els detalls més complicats de l'execució s’abstrauen en altres accions a nivells més baixos.[2]

Abstracció de dades[modifica | modifica el codi]

Qualsevol aplicació té gran quantitat de dades relacionant-se i interacuant. L’abstracció de dades ens permet posar ordre entre les relacions i abstraure’ns de la implementació de la seva interacció.[3] És a dir, definim, diferenciem i identifiquem totes les dades de manera que cada element tingui el seu significat, i deixem clar el comportament d’aquestes dades abstraient-nos de la implementació concreta d’aquest comportament, capacitat que permet, a tall d'exemple, que la programació orientada a objectes estableixi interfícies[4] per a diferents classes (mateix comportament, diferent implementació).

Nivells d'abstracció[modifica | modifica el codi]

Des de la gestió de recursos de la màquina fins a les interfícies d’usuari, l’abstracció es fa més pronunciada a través de diferents capes o nivells. D’aquesta manera, com més detallem com funciona tot (nivell de màquina) més baixa és l’abstracció, i com menys ens centrem en els detalls i més es restringeix l’accés als recursos, més alta és l’abstracció.

Podríem dir, per tant, que el nivell de hardware és el nivell 0, i que els usuaris es troben a la capa més alta, trobant per mig a programadors, desenvolupadors de software, dissenyadors de sistemes operatius i arquitectes de hardware, cadascun a un nivell més baix que l’anterior.

Referències[modifica | modifica el codi]

  1. «Conceptos Básicos en Ingeniería de Software II» (en castellà). Facultad de Ingeniería de la Universidad de la República d'Uruguay. [Consulta: 11 febrer 2015].
  2. Introducción a la Programación. 1 (en castellà), 2015, p. 57, 58. ISBN 978-1-312-76385-2. 
  3. Introducción a la programación. 1 (en castellà), 2015, p. 117, 118. ISBN 978-1-312-76385-2. 
  4. «Interfaces» (en anglés). The Java™ Tutorials. Oracle. [Consulta: 2 novembre 2015].