DEV Community

FUNDAMENTOS JAVA
FUNDAMENTOS JAVA

Posted on

Métodos sobrepostos dão suporte ao polimorfismo

Sobreposição de Métodos:

  • Não é apenas uma questão de nomenclatura, mas uma característica fundamental em Java.

  • Baseia-se no conceito de despacho dinâmico de métodos.

Despacho Dinâmico de Métodos:

  • É o mecanismo pelo qual a chamada a um método sobreposto é resolvida no tempo de execução, não no tempo de compilação.

  • Permite a implementação do polimorfismo em Java.

Como Funciona:

  • Uma variável de referência da superclasse pode referenciar um objeto da subclasse.

  • Quando um método sobreposto é chamado através de uma referência da superclasse, a versão do método a ser executada é determinada com base no tipo do objeto no momento da chamada.

  • Portanto, a escolha do método a ser executado ocorre no tempo de execução.

Importância:

  • O tipo do objeto referenciado (e não o tipo da variável de referência) determina qual versão do método sobreposto será executada.

  • Isso permite que diferentes tipos de objetos, referenciados por uma variável de referência da superclasse, possam chamar versões distintas do método sobreposto.

Image description

Image description

Estrutura do Programa:

  • Superclasse: Sup, com o método who().

  • Subclasses: Sub1 e Sub2, ambas sobrepõem o método who().

Execução no main():

  • Criação de objetos superOb (tipo Sup), subOb1 (tipo Sub1), e subOb2 (tipo Sub2).

  • Uma variável de referência supRef do tipo Sup é usada para referenciar os diferentes objetos.

Comportamento:

  • A chamada a supRef.who() determina a versão do método a ser executado com base no tipo do objeto referenciado no momento da chamada, não no tipo da variável de referência supRef.

Saída do Programa:

  • Dependendo do tipo do objeto referenciado (superOb, subOb1, ou subOb2), a versão correspondente do método who() é chamada e exibida.

  • Isso demonstra o conceito de despacho dinâmico, onde o método executado é decidido em tempo de execução, permitindo a implementação do polimorfismo.

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay