Ir al contenido

Abstracción (informática)

De Wikipedia, la enciclopedia libre

En ingeniería informática, la abstracción es un principio de diseño que consiste en representar un sistema enfocándose en sus características esenciales, ignorando detalles que podrían complicar el acceso a este sistema. Es decir, enfocarse únicamente en qué hace ese sistema, ignorando cómo funciona internamente ese sistema (como en una caja negra) para facilitar su análisis y comprensión.

A medida que los sistemas informáticos crecen en tamaño y complejidad, resulta infactible comprenderlos en su totalidad, por lo que la abstracción permite dividirlos en distintos módulos de sistemas más manejables. Por ejemplo, los lenguajes de programación tienen distintos niveles de abstracción, desde los lenguajes de máquina y ensamblador, lo más próximo a la computadora y sin a penas abstracción, pasando por lenguajes de bajo nivel de abstracción como C o Rust, hasta lenguajes de alto nivel de abstracción como Java o Python.

Ejemplos de abstracción son el tipo de dato abstracto, que separa el uso de los datos, de su representación interna. O las subrutinas que forman un árbol de llamadas que es más general en la base y más específico hacia las hojas.

Ejemplos

[editar]

Programación orientada a objetos

[editar]

La abstracción encarada desde el punto de vista de la programación orientada a objetos expresa las características esenciales de un objeto, las cuales distinguen al objeto de los demás. Además de distinguir entre los objetos provee límites conceptuales. Entonces se puede decir que la encapsulación separa las características esenciales de las no esenciales dentro de un objeto. Si un objeto tiene más características de las necesarias los mismos resultarán difíciles de usar, modificar, construir y comprender sobre todo cuando es un método de número entero con terminación fraccionaria.

La misma genera una ilusión de simplicidad dado que minimiza la cantidad de características que definen a un objeto.

Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos problemas. Para conseguir que sus esfuerzos pudiesen ser utilizados por otras personas se creó la POO que consiste en una serie de normas para garantizar la interoperabilidad entre usuarios de manera que el código se pueda reutilizar.

Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Una analogía sería modelizar un automóvil en un esquema de programación orientada a objetos. Diríamos que el auto es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca.

Por poner otro ejemplo vamos a ver cómo modernizaríamos en un esquema de programación orientada a objetos una fracción, es decir, esa estructura matemática que tiene un numerador y un denominador que divide al numerador, por ejemplo 3/2. La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador. Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o número, restarse con otra fracción, etc.

Estos objetos son utilizables en los programas, por ejemplo en un programa de matemáticas se puede hacer uso de objetos fracción y en un programa que gestione un taller de autos, objetos auto. Los programas orientados a objetos utilizan muchos objetos para realizar las acciones que se desean realizar y ellos mismos también son objetos. Es decir, el taller de autos será un objeto que utilizará objetos auto, herramienta, mecánico, recambio.

Véase también

[editar]