Definição – o que significa abstração?
Abstração é um princípio fundamental em alguns tipos de ciência da computação. É um aspecto chave do projeto de linguagens de programação orientadas a objetos e interfaces de programação de aplicativos. É também uma das ideias menos compreendidas em programação, parcialmente por razões semânticas.
Abstração é comumente definida como a extração de informações relevantes de um conjunto de dados maior, onde a utilização da abstração permite que engenheiros e outros simplifiquem uma base de código.
Definirtec explica abstração
A razão pela qual isso é confuso para muitas pessoas é que a abstração não “soa como” o que é, semanticamente. Parece algo mais vago, porque é assim que usamos na linguagem geral.
No entanto, em ciência da computação, abstração normalmente significa simplificação e separação do sinal do ruído para tornar a programação mais eficiente e eficaz.
Programação Orientada a Objetos
Código
Em um dos exemplos mais proeminentes de abstração da ciência da computação, na programação orientada a objetos, a abstração geralmente funciona por meio do uso de objetos no código. Esses objetos, como contêineres portáteis de atributos e estruturas de código repetíveis, funcionalidade abstrata que, de outra forma, poderia ser programada de forma linear.
Em outras palavras, o veículo de abstração são os objetos no código, que pegam um monte de código subjacente e o tornam portátil e repetível.
Classe
Outro meio de abstração na programação orientada a objetos é a classe. Classes de objetos estratificam ainda mais o princípio de uso repetível e proliferação de código automatizado.
Por exemplo, neste guia amigável para o não-técnico da Stackify, o escritor fala sobre como uma cafeteira é um bom exemplo de como a programação orientada a objetos usa abstração para tirar muito do trabalho intensivo de mão de obra do ombros do programador.
Em vez de criar um objeto virtual, como uma cafeteira do zero, programando cada linha de sua funcionalidade manualmente, os engenheiros podem invocar o objeto “cafeteira” e conectar “grãos” e “xícaras de café”, etc., para obter o mesmo resultado com muito menos trabalho.
Na verdade, a abstração que está em ação na programação orientada a objetos é uma maneira primária de mostrar o quão poderosamente essas ideias suportam “mundos” virtuais – quando os programadores podem girar todos os tipos de objetos virtuais com seus próprios atributos, eles podem modelar de forma mais eficaz o mundo real, o mundo físico e, ao mesmo tempo, otimizar a eficácia da hora de trabalho do programador.
Ambos são capacidades empolgantes que OOP trouxe para o mundo da tecnologia.
Application Programming Interface
Outro exemplo moderno de abstração é ilustrado na interface de programação de aplicativos (API), que é tão prevalente em sistemas de plataforma cruzada.
A API é uma forma fundamental de fornecer essas informações de abstração para que terceiros externos não precisem saber tanto sobre uma base de código inerente. Em um sentido muito simples, APIs são “conectores” – as partes usarão a API para conectar o código de um aplicativo ao código de outro aplicativo, para enviar conjuntos de dados por meio de um ambiente de plataforma cruzada e permitir que esses programas colaborem de forma automatizada
A API, então, funciona como o principal veículo de abstração ao construir nos princípios orientados a objetos que mostram ao “programa externo” o que o “programa interno” está fazendo.
Para encerrar, abstração é simplesmente o processo de tornar as informações da base de código mais versáteis, simplificando como são representadas em sistemas externos. Isso, no entanto, levou a avanços tecnológicos massivos que precedem outros tipos de mudanças centrais, como a mudança em direção à virtualização de redes.
Esta definição foi escrita no contexto da Ciência da Computação