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.
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:
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.
以上是Métodos sobrepostos dão suporte ao polimorfismo的详细内容。更多信息请关注PHP中文网其他相关文章!