Sobre polimorfismo em Java, considere as seguintes afirmativ...
1. É o tipo do objeto referenciado, e não o tipo da variável de referência, que determina a versão de um método sobreposto que será executada. 2. Se uma superclasse tiver um método sobreposto por uma subclasse, quando diferentes tipos de objetos forem referenciados por uma variável de referência da superclasse, versões distintas do método serão executadas. 3. Despacho dinâmico de métodos é o mecanismo pelo qual a chamada a um método sobreposto é resolvida no tempo de execução, e não de compilação.
Assinale a alternativa que indica todas as afirmativas corretas.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: E - São corretas as afirmativas 1, 2 e 3.
Polimorfismo é um conceito central na programação orientada a objetos, e em Java, ele permite que uma variável de referência de um tipo superclasse possa apontar para um objeto de qualquer subclasse derivada, o que possibilita a execução de diferentes formas de um método, dependendo do tipo de objeto que a variável de referência está apontando no momento da execução.
Afirmativa 1: Correta. O polimorfismo em Java determina que o tipo do objeto que está sendo referenciado é que determina qual versão do método sobreposto será executada. Isso é uma característica da ligação dinâmica, onde a decisão sobre qual método chamar é tomada em tempo de execução.
Afirmativa 2: Correta. Se existirem métodos sobrepostos nas subclasses, e você estiver utilizando uma referência de uma superclasse para apontar para diferentes objetos de subclasses, o método que será executado será o da subclasse correspondente ao tipo de objeto real.
Afirmativa 3: Correta. Despacho dinâmico de métodos, ou ligação dinâmica, é o processo pelo qual chamadas a métodos sobrepostos são resolvidas em tempo de execução, e não em tempo de compilação. Isso é uma parte fundamental do polimorfismo em linguagens de programação orientadas a objeto como Java.
Portanto, todas as três afirmativas estão corretas, pois descrevem comportamentos essenciais do polimorfismo em Java, conduzindo à conclusão de que a alternativa E é a resposta correta para a questão.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Gabarito: E
1. É o tipo do objeto referenciado, e não o tipo da variável de referência, que determina a versão de um método sobreposto que será executada.
2. Se uma superclasse tiver um método sobreposto por uma subclasse, quando diferentes tipos de objetos forem referenciados por uma variável de referência da superclasse, versões distintas do método serão executadas.
3. Despacho dinâmico de métodos é o mecanismo pelo qual a chamada a um método sobreposto é resolvida no tempo de execução, e não de compilação.
A banca pegou um parágrafo do livro Java para Iniciantes - 6ed e copiou e colou. Triste realidade de boa parte das bancas.
Achei essa questão difícil mas muito interessante.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo