Abstraccion
La abstraccion es un mecanismo que tenemos los humanos para reducir la complejidad de algo en particular. Este proceso lo podemos realizar mediante el uso de patrones, ocultacion u otras practicas que permitan que el entendimiento de algo sea mucho mas sencillo.
Por tanto, podriamos decir que La abstraccion es simplificar, tomando las caracteristicas importantes e ignorando lo irrelevante.
Ademas, este
Por ejemplo, para un cliente de un restaurante le da igual de donde vienen sus productos pero para un asegurador de calidad le importa de donde vienen, si estan frescos o no. Por tanto, la abstraccion de una cosa varia basado en el contexto de la misma.
# Regla de la Menor Sorpresa
Una abstraccion deberia unicamente capturar la escencia del objeto ignorando todos los detalles que estan fuera del dominio. Deberia proveer la menor sorpresa, por tanto, no deberia haber ningun detalle que sea irrelevante para entenderla.
En OOP el resultado de la abstraccion sera una clase con atributos y metodos
Las abstracciones estan ligadas a un contexto