Product Design, Manufacturing & Innovation Resources
Lar » Abstração (programação orientada a objetos)

Abstração (programação orientada a objetos)

1970
  • Barbara Liskov
Software engineer coding abstract classes in a modern IDE environment.

(Imagem gerada apenas para fins ilustrativos)

Abstração em Programação Orientada a Objetos É o conceito de ocultar detalhes complexos de implementação e mostrar apenas as características essenciais do objeto. Ele se concentra no que um objeto faz, em vez de como ele o faz. Isso é alcançado por meio de classes abstratas e interfaces, que definem um modelo para outras classes sem fornecer uma implementação completa, simplificando sistemas complexos.

Abstração é um processo de gerenciamento da complexidade. Em programação, envolve a criação de uma representação simplificada de um sistema ou componente. Em POO (Programação Orientada a Objetos), isso é feito principalmente usando classes abstratas e interfaces. Uma classe abstrata é uma classe que não pode ser instanciada diretamente e destina-se a ser herdada por subclasses. Ela pode conter métodos abstratos (métodos sem corpo) que as subclasses devem implementar. Uma interface é um conceito similar, mas é puramente abstrata; ela só pode definir assinaturas de métodos, não implementações. Uma classe pode então "implementar" uma interface, comprometendo-se a fornecer a funcionalidade definida nela.

Isso permite que os programadores definam um contrato ou API comum que várias classes diferentes podem seguir. Por exemplo, uma interface `Storable` poderia definir os métodos `save()` e `load()`. Diferentes classes, como `Document`, `Image` e `UserSettings`, poderiam implementar a interface `Storable`, cada uma fornecendo sua própria lógica para salvar e carregar. O código que trabalha com objetos `Storable` não precisa saber o tipo específico de objeto com o qual está lidando; ele só precisa saber que pode chamar `save()`. e ‘load()’. Isso desacopla o código do cliente das implementações específicas, tornando o sistema mais modular, flexível e mais fácil de entender em um nível alto.

UNESCO Nomenclature: 1203
Ciência da Computação

Tipo

Sistema abstrato

Interrupção

Fundamentais

Uso

Uso generalizado

Precursores

  • abstração matemática
  • O conceito de sub-rotinas e funções como uma forma de abstração procedural.
  • teoria dos tipos abstratos de dados (adt)
  • a necessidade de gerenciar a complexidade em projetos de engenharia de grande escala

Aplicações

  • camadas de acesso ao banco de dados (DALs) que ocultam as consultas SQL específicas
  • Os drivers de dispositivo abstraem a complexidade do hardware do sistema operacional.
  • graphical user interface (GUI) libraries providing high-level widgets
  • network protocols like HTTP abstracting the underlying TCP/IP communication
  • a biblioteca de modelos padrão (stl) em C++

Patentes:

NA

Ideias de Inovação Potencial

Devido ao tráfego de bots de coleta de dados, atualmente superior a 40 mil por dia, este conteúdo é reservado aos membros da comunidade.
> Login < ou > Registrar < (100% gratuito) para acessar isso, assim como todo o restante do conteúdo e das ferramentas restritas.

Relacionado a: abstração, interface, classe abstrata, API, ocultação de informações, complexidade, POO, contrato, desacoplamento, modularidade.

Contexto histórico

Abstração (programação orientada a objetos)

1967
1967
1970
1970
1970
1970-01-01
1975-06-01
1960
1967
1970
1970
1970
1970
1973
1980

(Caso a data seja desconhecida ou irrelevante, por exemplo, "mecânica dos fluidos", é fornecida uma estimativa aproximada de seu surgimento notável)

Imagens em tamanho real e downloads estão disponíveis apenas, 100% gratuitos, para membros registrados.