DEV Community

Métodos sobrepostos

  • Métodos sobrepostos permitem a Java dar suporte ao polimorfismo em tempo de execução.
  • O polimorfismo é essencial na programação orientada a objetos, permitindo que uma classe geral defina métodos comuns e que subclasses implementem versões específicas desses métodos.
  • A sobreposição de métodos implementa o conceito "uma interface, vários métodos", onde as subclasses podem adaptar a funcionalidade de métodos herdados.
  • Superclasses fornecem métodos gerais que as subclasses podem usar ou sobrepor para implementar comportamentos específicos, mantendo a consistência da interface.

Exemplo com a classe TwoDShape:

  • A classe TwoDShape define atributos como largura, altura e nome, além de um método area() que é sobreposto nas subclasses.
  • Subclasses Triangle e Rectangle sobrepõem o método area() para calcular a área de acordo com o tipo de forma.
  • O método area() na superclasse serve como espaço reservado, alertando que deve ser sobreposto nas subclasses.

Uso de herança e polimorfismo:
Um array de TwoDShape pode conter objetos de suas subclasses, como Triangle e Rectangle.
O método apropriado de area() é chamado em tempo de execução com base no tipo do objeto referenciado, demonstrando o polimorfismo.

Saída do programa:
O programa ilustra como diferentes formas (triângulos, retângulos) têm suas áreas calculadas corretamente usando o método sobreposto.
Quando um objeto genérico de TwoDShape é usado, a implementação padrão de area() da superclasse é chamada.

package: sobreposicao

Top comments (0)