Qual é a diferença entre ocultação e abstração de dados

Índice:

Anonim

o principal diferença entre ocultação de dados e abstração é que a ocultação de dados ajuda a proteger os dados, enquanto a abstração ajuda a ocultar a complexidade do sistema.

A Programação Orientada a Objetos (OOP) é ​​um paradigma que ajuda a criar soluções para cenários do mundo real facilmente do que usar outros paradigmas, como a programação estruturada. OOP é baseado no projeto do programa usando classes e objetos. Uma classe é um plano ou projeto para criar objetos. Ele contém atributos e métodos. Atributos são os membros de dados que descrevem as propriedades do objeto. Os métodos descrevem os comportamentos. Os objetos são criados usando classes. O ocultamento de dados e a abstração de dados são dois conceitos importantes em OOP.

Abstração, classe, ocultação de dados, objetos, OOP

O que é ocultação de dados

Uma classe consiste em membros e métodos de dados. A ocultação de dados ajuda a proteger os membros de uma classe. Linguagens de programação como Java têm modificadores de acesso como público, privado e protegido. Objetos de outras classes podem acessar membros e métodos de dados públicos. No entanto, os membros protegidos são acessíveis pelos objetos da mesma classe e suas subclasses. Além disso, os membros privados só podem ser acessados ​​dentro da classe. Portanto, esses modificadores de acesso ajudam a proteger os membros.

Quando for necessário restringir o acesso de objetos de outras classes aos membros de uma classe, o programador pode usar o modificador de acesso privado. Então, os membros de dados só podem ser acessados ​​dentro da classe. Também é possível tornar os membros dos dados privados e permitir o acesso a eles por meio de métodos públicos (getters e setters).

O encapsulamento é um conceito importante em OOP. Ele agrupa os membros de dados e métodos em uma única unidade. Além disso, é uma forma de conseguir a ocultação de dados. No geral, a ocultação de dados ajuda a proteger os membros da classe.

O que é abstração

A abstração oculta os detalhes internos e exibe apenas a funcionalidade para os usuários. Em outras palavras, ele oculta os detalhes de implementação e apresenta a funcionalidade para o mundo externo. Por exemplo, suponha que um aplicativo do mundo real, como um telefone celular. O usuário não precisa entender a estrutura interna, os circuitos do celular para receber ligações, enviar SMS e jogar ou navegar na internet.

Em linguagens de programação de suporte OOP, como Java, é possível implementar abstração usando classes abstratas e interfaces. Uma classe abstrata pode ter métodos abstratos e não abstratos. Uma classe que estende uma classe abstrata deve fornecer as definições para os métodos abstratos. Além disso, todos os métodos em uma interface são métodos abstratos. Portanto, uma classe que implementa uma interface deve fornecer as definições para todos esses métodos abstratos.

Diferença entre ocultação e abstração de dados

Definição

A ocultação de dados é o processo que garante acesso exclusivo aos dados para os membros da classe e fornece integridade do objeto, evitando alterações não intencionais ou intencionais. A abstração, por outro lado, é um conceito OOP que oculta os detalhes da implementação e mostra apenas a funcionalidade ao usuário. Portanto, esta é a principal diferença entre ocultação e abstração de dados.

Foco principal

Enquanto a ocultação de dados se concentra em proteger os dados, a abstração se concentra em ocultar a complexidade do sistema. Portanto, esta é outra diferença entre ocultação e abstração de dados.

Uso

Conclusão

O ocultamento e abstração de dados são dois conceitos relacionados à OOP. A ocultação de dados protege os membros dos dados. O encapsulamento é usado para conseguir ocultar os dados. Por outro lado, a abstração ajuda a reduzir a complexidade do sistema. Ele também limita o acesso aos detalhes internos e mostra os recursos essenciais do software para o usuário. A principal diferença entre ocultação de dados e abstração é que a ocultação de dados ajuda a proteger os dados, enquanto a abstração ajuda a ocultar a complexidade do sistema.

Referência:

1. “Abstract Class in Java - Javatpoint.” Www.javatpoint.com, disponível aqui.2. “Encapsulation in Java - Javatpoint.” Www.javatpoint.com, disponível aqui.

Cortesia de imagem:

1. “CPT-OOP-objects and classes” Por Pluke - Own work, (CC0) via Commons Wikimedia

Qual é a diferença entre ocultação e abstração de dados