Podríamos definir la abstracción como la "acción de aislar mentalmente o considerar por separado las cualidades de un objeto, considerar un objeto en su esencia". ¿Qué quiere decir esta definición? A través de la abstracción conseguimos extraer las cualidades principales sin detenernos en los detalles.
Conseguimos a partir de un tema determinado, generalizar y obtener una visión global del tema. Cuando montamos un ordenador ensamblamos los componentes necesarios para construir el ordenador. Utilizamos una placa base, un disco
duro, memoria, etc. Manejamos estos dispositivos a un nivel funcional. Es decir, abstraemos las funciones de cada dispositivo para trabajar con ellos. En ningún momento nos paramos a pensar cómo funcionan internamente o de
cuántos condensadores y transistores está compuesto.
La abstracción es una herramienta muy potente en programación, pues reduce considerablemente el trabajo de implementación y aumenta la portabilidad del código. La programación orientada a objetos aporta elementos para abstraer
el problema en dos sentidos:
- Por un lado nos permite referirnos a objetos para representar la realidad, describiendo el problema en términos del problema en lugar de en términos de la solución. En un programa de gestión comercial, tendremos
el objeto cliente o el objeto factura, que no son más que representaciones de otros objetos en el espacio del problema.
- La clave de la programación orientada a objetos está en abstraer los métodos y los datos comunes a un conjunto de objetos y agruparlos en una clase. Gracias a este nivel de abstracción, añadir o eliminar un objeto nuevo supondrá
muy poco esfuerzo.