Abstração vs Encapsulamento - As 6 principais diferenças que você deve aprender

Índice:

Anonim

Diferença entre Abstração vs Encapsulamento

Abstração vs Encapsulamento, ambos são os conceitos básicos de programação orientada a objetos (OOP) que permitem que objetos reais sejam implementados no Código e no programa. Eles são muito diferentes, pois ambos andam de mãos dadas. Embora ambos sejam tecnicamente inseparáveis, eles não têm nada em comum literalmente. Quase todo encapsulamento é uma abstração, porque ambos mascaram algo, mas têm uma parte justa das diferenças.

O que é abstração?

Abstração é um conceito fundamental de POO que se concentra apenas nos dados pertinentes de um objeto e cobre todos os detalhes irrelevantes que podem ou não ser usados ​​para conduta genérica ou especializada. Ele mascara os detalhes do plano de fundo e destaca os elementos essenciais para reduzir a complexidade e melhorar a eficiência. Isso ajuda a simplificar a representação do modelo de domínio. Abstração é mais sobre idéias do que sobre eventos. Ele cobre os detalhes no nível do design, oferecendo funcionalidade aos usuários. Uma abstração também pode ser chamada de objeto resultante.

Vamos dar um exemplo

Portanto, vamos considerar a motocicleta. Um mecânico está tentando consertar sua motocicleta ou dizer uma determinada seção da sua motocicleta. Você é o usuário e não quer saber os detalhes da motocicleta ou qual parte realmente quebrou. Você não se importa; você simplesmente quer o seu ciclo de moto em sua condição original, sem se preocupar com os detalhes. Você disse ao mecânico o que queria ao separar a parte de implementação, isso é chamado de abstração. A coisa mais importante que você fez foi consertar sua motocicleta em vez de se concentrar nos detalhes.

O que é encapsulamento?

Outro conceito de encapsulamento OOP liga dados e funcionalidades em um componente enquanto a limitação do acesso a determinados componentes foi estabelecida. O encapsulamento melhorará a capacidade de manutenção do seu aplicativo. Isso fornecerá ao usuário muita flexibilidade no uso do sistema. Isso facilita todo o processo de codificação, pois você está interessado apenas no que uma classe diferente não faz. Este é um dos principais conceitos básicos de POO, que agrupa dados e dados em uma unidade. Ele fornece integridade fundamental aos dados, defendendo-os do mundo exterior. Esconde informações adicionais do mundo exterior em termos fáceis.

Vamos dar um exemplo

Somente você precisa conhecer o comportamento do dispositivo sem ter que se preocupar em implementar detalhes, como os sensores que o teclado possui e se é ou não sem fio etc. Cada detalhe descreve o mouse, mas é simplesmente um teclado independentemente dos detalhes. Você só tem uma interface de teclado, que é o ponteiro do mouse nessa situação e chamamos de Encapsulamento

Comparação cara a cara entre abstração x encapsulamento (infográficos)

Abaixo está a diferença top 6 entre Abstração vs Encapsulamento

Principais diferenças entre abstração e encapsulamento

Vamos discutir algumas das principais diferenças entre Abstração vs Encapsulamento:

A principal diferença entre abstração versus encapsulamento é que o problema é resolvido pelo Abstraction no nível de design e o nível do aplicativo pelo Encapsulation. A abstração envolve ocultar informações indesejadas enquanto fornece as informações mais importantes, enquanto o encapsulamento implica ocultar códigos e informações em um dispositivo.

A abstração permite que você se concentre no que o item faz, e não como ele faz, enquanto encapsulamento significa os detalhes internos de como o objeto está funcionando. Você pode modificá-lo mais tarde com uma técnica melhor se você mantiver as informações internas em sigilo. A abstração se concentra na visualização externa, por exemplo, na troca do carro, enquanto o Encapsulamento se concentra no trabalho interno ou na visualização interna.

A abstração é suportada em Java com a interface e a classe abstrata, e o encapsulamento é suportado usando, por exemplo, sistemas de modificação de acesso público, privado e seguro. Esta é a separação em Java e OOP entre Encapsulamento e Abstração. Lembre-se de que a abstração resolve o problema no nível de design e o encapsulamento no nível de execução. Ambos para um programador de POO são muito essenciais, mas às vezes pode ser difícil de explicar. Como eu disse antes, escrever e ler códigos de outras pessoas é uma das melhores maneiras de aprender e dominar a programação orientada a objetos.

A abstração está ocultando a implementação com a ajuda da interface e da classe abstrata, enquanto o Encapsulation está ocultando os dados com a ajuda de getters e setters.

Tabela de comparação Abstração vs Encapsulamento

Abaixo está a comparação mais alta entre Abstração vs Encapsulamento:

Abstração

Encapsulamento

Abstração funciona no nível do designO encapsulamento funciona no nível do aplicativo
A abstração é implementada para ocultar dados desnecessários e retirar dados relevantes.O encapsulamento é o mecanismo de ocultar o código e os dados do mundo exterior ou o uso indevido.
Ele destaca o que é o trabalho de um objeto e não como ele funciona.Ele se concentra nos detalhes internos de como o objeto funciona. As modificações podem ser feitas posteriormente nas configurações.
A abstração se concentra na visualização externa, por exemplo, deslocando o carro.O encapsulamento se concentra no trabalho interno ou na visualização interna, por exemplo, na produção do carro.
Abstração é suportada em Java com a interface e a classe abstrataO encapsulamento é suportado usando, por exemplo, sistemas de modificação de acesso público, privado e seguro.
Em poucas palavras, a abstração está ocultando a implementação com a ajuda de uma interface e uma classe abstrata.Em poucas palavras, o encapsulamento está ocultando os dados com a ajuda de getters e setters.

Conclusão

Neste artigo, vimos o que é Abstração vs Encapsulamento e a diferença entre eles. Embora ambas sejam idéias de ocultação de dados OOP, elas são bastante distintas uma da outra. Ele mascara as informações básicas e destaca os pontos críticos para reduzir a complexidade e melhorar a eficácia. Com novos requisitos, o código encapsulado é muito flexível e fácil de alterar.

Artigos recomendados

Este foi um guia para a principal diferença entre Abstração vs Encapsulamento. Aqui também discutimos as principais diferenças entre Abstração e Encapsulamento com infográficos e tabela de comparação. Você também pode consultar os seguintes artigos para saber mais -

  1. O que é C ++
  2. CSS vs JavaScript
  3. C vs Python
  4. Guia de encapsulamento em PHP