Qual é a diferença entre herança e polimorfismo em Java

Índice:

Anonim

o principal diferença entre herança e polimorfismo em Java é que A herança permite que uma classe use as propriedades e métodos de uma classe já existente, enquanto o polimorfismo permite que um objeto se comporte de várias maneiras.

A Programação Orientada a Objetos (OOP) é ​​um paradigma de programação comum no desenvolvimento de software. Ajuda a modelar cenários do mundo real usando objetos. Java é uma linguagem de programação que suporta OOP. Uma classe é um projeto e ajuda a criar objetos. Uma classe possui atributos e comportamentos. Os atributos também são chamados de propriedades, enquanto os comportamentos também são chamados de métodos. Dois pilares principais da OOP são herança e polimorfismo.

Classe, herança, sobrecarga, substituição, polimorfismo, Java

O que é herança em Java

Herança em Java é o mecanismo que permite a uma classe usar propriedades e comportamentos de uma classe já existente. A classe já existente é a classe pai ou superclasse. A nova classe que herda as propriedades e métodos é chamada de classe ou subclasse filha. A principal vantagem da Herança é que ela fornece capacidade de reutilização de código. Um exemplo de programa é o seguinte.

Figura 1: Classe A

Figura 2: Classe B

Figura 3: Teste de Classe

A classe A tem o método sum e adiciona dois valores. A classe B estende A. Ela tem um método chamado sub. Ele subtrai dois valores. A classe de teste possui o método principal. O 'obj' é um objeto do tipo B. Como a classe B herda a classe A, o objeto pode usar as propriedades e métodos da classe A. Portanto, o objeto pode chamar sum e sub-métodos.

O que é polimorfismo em Java

O polimorfismo em Java se refere a um objeto que mostra diferentes comportamentos em diferentes estágios de seu ciclo de vida. Existem basicamente dois tipos de polimorfismo: sobrecarga e substituição.

Sobrecarregando

A sobrecarga permite os métodos na mesma classe ou subclasses com o mesmo nome, mas com parâmetros diferentes. Também é chamado de 'ligação estática' e 'polimorfismo em tempo de compilação'. Um exemplo de programa é o seguinte.

Figura 4: programa Java com substituição

A classe de sobrecarga possui dois métodos com o mesmo nome de sum. O método sum na linha 5 não leva nenhum parâmetro. Ele adiciona os dois valores 10 e 20 e retorna o resultado, que é 30. Além disso, o método sum na linha 11 chega a dois parâmetros. Ele adiciona esses dois valores e retorna o resultado 50. O obj é um objeto no método principal. O obj.sum () chama o método sum na linha 5 e obj.sum (20, 30) chama o método sum na linha 11. O mesmo objeto chama o método associado de acordo. Portanto, o mesmo objeto tem comportamentos diferentes dependendo da situação.

Substituindo

A substituição permite fornecer uma implementação para um método que já existe em sua superclasse. Também é chamado de 'ligação tardia', 'ligação dinâmica' e 'polimorfismo de tempo de execução'. Um exemplo de programa é o seguinte.

Figura 5: Classe do veículo

Figura 6: Classe do carro

Figura 7: classe de teste

A classe Vehicle tem um método chamado display. A classe Car estende a classe Vehicle e também tem um método chamado display com sua própria implementação. Vehicle é a superclasse, enquanto Car é a subclasse. A classe de teste possui o método principal. O ‘c’ é um objeto do tipo Carro. Ao chamar o método display, podemos ver a implementação do método display na classe Car. Mesmo que a superclasse tenha o método display, ele é sobrescrito pelo método display na subclasse.

Diferença entre herança e polimorfismo em Java

Definição

Herança é o mecanismo que permite que uma nova classe use propriedades e métodos de uma superclasse, enquanto o polimorfismo é a capacidade de um objeto se comportar de várias maneiras. Portanto, esta é a principal diferença entre Herança e Polimorfismo em Java.

Implementação

Uso

Além disso, embora a herança forneça capacidade de reutilização de código, o polimorfismo permite a chamada de métodos de acordo com o tempo de compilação e execução. Portanto, esta é outra diferença entre herança e polimorfismo em Java.

Conclusão

Dois pilares principais da OOP são herança e polimorfismo. A principal diferença entre herança e polimorfismo em Java é que a herança permite que uma classe use as propriedades e métodos de uma classe já existente, enquanto o polimorfismo permite que um objeto se comporte de várias maneiras.

Referência:

1. “Method Overloading in Java - Javatpoint.” Www.javatpoint.com, disponível aqui.2. “Substituição de método em Java - Javatpoint.” Www.javatpoint.com, disponível aqui.3. “Herança em Java - Javatpoint.” Www.javatpoint.com, disponível aqui.

Qual é a diferença entre herança e polimorfismo em Java