Tabla de Contenidos
Abstracción
Es la propiedad que adquiere un objeto cuando este realiza una labor para obtener un resultado sin revelar el como, en términos básicos se dice que un elemento es abstracto cuando sabes que te va dar un resultado pero no saber ni es de interés el como llega a este resultado.
Ejemplos
- Máquina expendedora de Refrescos.- Una persona llega a una máquina de refrescos, ingresa unas monedas y presiona el botón del refresco que quiere, la máquina le da el refresco que solicito, el “como” lo hizo queda dentro del algoritmo de la maquina y no es de interés de la persona que recibe el refresco.
- Servicios de bóveda de seguridad.- Una persona llega a un establecimiento que ofrece el servicio de bóveda de seguridad, ofrece su llave de verificación y su identificación personal, el personal del establecimiento procede a buscar sus objetos resguardados, si la verificación es satisfactoria se le trae sus objetos a la persona, en caso de no ser satisfactoria dios lo libre del pecado, el “como” se realizó la verificación y la localización de la bóveda de la persona queda dentro de la manera de operar del establecimiento y no es de conocimiento de la persona.
- Servicio de Facturación Electrónica.- Un sistema se comunica con un PAC, para emitir una factura electrónica, envía los datos requeridos por medio de un servicio web, y recibe una factura electrónica timbrada, al final de año hacienda ya tiene conocimiento de las facturas que emitió dicho sistema, tanto el proceso de timbrado como el de recolección de SAT fueron transparentes para el sistema.
Aplicación en CSharp
En el siguiente ejemplo veremos como se ejecuta el calculo de un impuesto donde dicho calculo es parte de una calculadora de impuesto, mientras que quien obtiene el calculo desconoce como lo realiza, al final para quien realiza el calculo lo importante es el valor que retorna.
- concepto_abstraccion.cs
using System; namespace Capacitacion.Abstraccion { public class CalculadoraImpuesto { public decimal CalcularImpuesto(decimal importe) { decimal impuesto1 = 0.16; decimal impuesto2 = 0.04; decimal subtotal1 = importe * impuesto1; decimal subtotal2 = importe * impuesto2; return importe + subtotal1 + subtotal2; } } public class Program { public static void Main(string[] args) { var calculadora = new CalculadoraImpuesto(); /* Para la clase Program el como se calcula el impuesto no es de interés, solo es de interés su resultado */ Console.WriteLine(calculadora.CalcularImpuesto(2000)); } } }
El código anterior es un ejemplo de la aplicación del concepto de abstracción, Csharp como lenguaje maneja un concepto de abstracción que se verá en la capacitación de csharp.