Qual é a diferença entre encapsulamento e abstração em C

Índice:

Anonim

o principal diferença entre encapsulamento e abstração em C # é que o o encapsulamento envolve os dados e métodos em uma única unidade, enquanto a abstração oculta os detalhes de implementação e só exibe a funcionalidade aos usuários.

C # é uma linguagem de programação de alto nível de uso geral desenvolvida pela Microsoft. Ele é construído na estrutura.NET. A estrutura fornece o ambiente e as ferramentas necessárias para desenvolver e implementar aplicativos. Uma grande vantagem do C # é que ele oferece suporte à Programação Orientada a Objetos (OOP). Portanto, os desenvolvedores podem modelar e representar facilmente os cenários do mundo real para resolver os problemas. Encapsulamento e abstração são dois pilares principais da OOP.

Abstração, C #, encapsulamento,.NET Framework, OOP

O que é encapsulamento em C #

O encapsulamento conecta dados e métodos em uma única unidade. Por exemplo, suponha uma cápsula médica. A cobertura protege o medicamento dentro da cápsula. O encapsulamento é semelhante a isso.

O principal objetivo do encapsulamento é evitar o acesso aos dados. Existem vários modificadores de acesso disponíveis em C #, como public, protected, private, etc. Os membros public são acessíveis por qualquer outra classe. Os membros protegidos são acessíveis dentro da classe e por subclasses. No entanto, os membros privados são acessíveis apenas dentro da classe. O programador pode tornar os membros de dados privados e usar getters e setters públicos para ler e gravar os dados. Da mesma forma, o encapsulamento combina dados e métodos em uma única unidade e também impede o acesso direto aos dados.

Figura 1: programa C # com encapsulamento

Neste programa acima, o Aluno é uma classe. Ele tem um membro de dados privado chamado nome. O método setName recebe uma String e atribui esse valor a name. O método getName retorna o nome da String. No programa principal, existe um objeto chamado s do tipo Aluno. Na linha 20, o setName é chamado no objeto s. A String “Ann” é passada para esse método. Na linha 21, o getName ajuda a obter o nome. Finalmente, o nome é impresso no console. O encapsulamento combina os dados e métodos em uma única unidade. Em vez de acessar os membros de dados diretamente, o programador usa o método public set para atribuir o valor e o método public get para obter o valor.

O que é abstração em C #

A abstração ajuda a ocultar os detalhes de implementação e permite exibir apenas a funcionalidade ao usuário. Suponha que o controle remoto de uma televisão. O usuário não precisa saber sobre os circuitos internos do controlador para usá-lo. A abstração é semelhante a isso. Ele se concentra no que o objeto faz, em vez de prestar atenção em como isso é feito.

Em C #, existem dois métodos para obter abstração. Eles estão usando uma classe ou interface abstrata. Uma classe abstrata pode ter métodos abstratos e não abstratos. Uma classe que estende uma classe abstrata deve fornecer as implementações para os métodos abstratos. Em uma interface, todos os métodos são abstratos. Uma classe que implementa uma interface deve fornecer as definições para esses métodos abstratos.

Figura 2: Programa C # com uma classe abstrata

No programa acima, Shape é uma classe abstrata. Possui um método abstrato chamado draw. A classe Triangle estende Shape. Portanto, esta classe implementa o método draw. No método principal, s é um objeto do tipo Shape. O método de desenho é chamado de método de desenho do Triângulo.

Figura 3: programa C # com uma interface

No programa acima, Shape é uma interface. Possui um método abstrato chamado draw. A classe Triangle estende Shape. Ele fornece a definição para o método de desenho. No método principal, s é um objeto do tipo Shape. O método de desenho é chamado de método de desenho do Triângulo.

Diferença entre encapsulamento e abstração em C #

Definição

O encapsulamento em C # é um conceito OOP que une os dados e métodos para criar uma única unidade. Abstração em C #, por outro lado, é um conceito OOP que oculta os detalhes de implementação e exibe apenas a funcionalidade para o usuário. Portanto, esta é a principal diferença entre Encapsulamento e Abstração.

Método de alcançar

Além disso, o programador pode tornar os membros de dados privados e usar métodos públicos para obter o encapsulamento em C #. Existem classes abstratas e interfaces para obter abstração em C #.

Uso

O uso é outra diferença entre encapsulamento e abstração. Isso é; o encapsulamento oculta dados para fins de proteção de dados, enquanto a abstração oculta os detalhes de implementação para reduzir a complexidade do código.

Conclusão

Encapsulamento e abstração são dois conceitos OOP que podemos implementar usando programação C #. A principal diferença entre encapsulamento e abstração em C # é que o encapsulamento envolve os dados e métodos em uma única unidade, enquanto a abstração oculta os detalhes de implementação e exibe apenas a funcionalidade para os usuários.

Referência:

1. “C # Abstract - Javatpoint.” Www.javatpoint.com, disponível aqui.2. “Interface C # - Javatpoint.” Www.javatpoint.com, disponível aqui. 3. “C # Encapsulation - Javatpoint.” Www.javatpoint.com, disponível aqui.

Qual é a diferença entre encapsulamento e abstração em C