Qual é a diferença entre abstração e herança

Índice:

Anonim

o principal diferença entre abstração e herança é que a abstração permite ocultar os detalhes internos e exibir apenas a funcionalidade aos usuários, enquanto a herança permite o uso de propriedades e métodos de uma classe já existente.

A Programação Orientada a Objetos (OOP) é ​​o principal paradigma de programação. Ele permite que os desenvolvedores modelem cenários do mundo real usando um conjunto de objetos facilmente. Muitas linguagens de programação modernas, como Java e C #, oferecem suporte a OOP. Classe e objeto são os blocos de construção de um programa OOP. Uma classe é um projeto, enquanto um objeto é uma instância de uma classe. Além disso, existem pilares de OOP. Dois deles são abstração e herança.

Abstração, Classe abstrata, Herança, Interface, Objeto, OOP

O que é abstração

Abstração é a metodologia de ocultar os detalhes internos e exibir apenas a funcionalidade aos usuários. Em outras palavras, o usuário ou o mundo externo não vê os detalhes da implementação interna. Em vez disso, ele só vê a funcionalidade. O conceito de abstração é semelhante ao exemplo a seguir. Por exemplo, suponha um controle remoto. Consiste em um conjunto de botões para operar. O usuário pode mudar os canais, aumentar o volume, mudar o brilho etc. Ele não precisa saber sobre os circuitos internos do controlador para operar. A abstração é semelhante a isso.

Linguagens de programação como Java suportam abstração. O programador pode implementar abstração usando conceitos como classe abstrata e interface. Em primeiro lugar, uma classe abstrata pode consistir em 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 segundo lugar, uma interface é uma coleção de métodos abstratos. Não possui métodos não abstratos. Portanto, a classe que implementa uma interface deve fornecer as implementações ou definições de método para todos os métodos abstratos na interface. No geral, a abstração ajuda a reduzir a complexidade do sistema.

O que é herança

Herança é a metodologia de uso de propriedades e métodos de uma classe já existente em uma nova classe. A classe existente é o pai ou superclasse, enquanto a nova classe é o filho ou subclasse. O desenvolvedor não precisa escrever o código desde o início. Em vez disso, ele pode usar o código já existente e desenvolver o resto. Portanto, a herança permite a reutilização do código.

Existem vários tipos de herança. Eles são os seguintes.

Herança de nível único - Se A e B são duas classes e B herda A, então é uma herança de nível único.

Herança multinível - Existe uma classe intermediária. Existem três classes chamadas A, B e C. B herda de A e C herda de B.

Herança Múltipla - Se A, B e C são três classes, e se C herda de A e B, então é herança múltipla.

Herança Hierárquica - Quando A, B e C são três classes, e B e C herdam de A, então é uma herança hierárquica.

Herança Híbrida - É uma combinação de heranças multiníveis e múltiplas.

Diferença entre abstração e herança

Definição

Abstração é um conceito OOP que oculta os detalhes de implementação e mostra apenas a funcionalidade para o usuário. Em contraste, Herança é a metodologia de criação de uma nova classe usando as propriedades e métodos de uma classe existente. Portanto, isso reflete a principal diferença entre abstração e herança.

Uso Principal

Conclusão

No geral, abstração e herança são conceitos OOP totalmente diferentes e fornecem usos diferentes. A principal diferença entre abstração e herança é que a abstração permite ocultar os detalhes internos e exibir apenas a funcionalidade aos usuários, enquanto a herança permite o uso de propriedades e métodos de uma classe já existente.

Referências:

1. “Herança em Java - Javatpoint.” Www.javatpoint.com, disponível aqui. 2. “Abstract Class in Java - Javatpoint.” Www.javatpoint.com, disponível aqui.

Cortesia de imagem:

1. ”diagrama de herança” Por Pluke - Trabalho próprio (CC0) via Commons Wikimedia.

Qual é a diferença entre abstração e herança