Sobre a programação orientada a objetos, assinale a alternat...

Próximas questões
Com base no mesmo assunto
Q2171179 Programação
Sobre a programação orientada a objetos, assinale a alternativa que identifica corretamente a situação de um método que possui a mesma assinatura, mas desempenha comportamentos diferenciados para atender cada classe derivada da classe que contém esse método.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - Polimorfismo.

Para resolver essa questão, é preciso compreender alguns conceitos fundamentais da programação orientada a objetos (POO). A questão descreve uma situação na qual um método possui a mesma assinatura, ou seja, o mesmo nome e a mesma lista de parâmetros, mas comportamentos diferentes dependendo da classe derivada que o implementa. Esse é um cenário clássico de polimorfismo, uma característica da POO que permite que objetos de diferentes classes derivadas sejam tratados como objetos de uma classe base.

O polimorfismo é essencial para a reutilização de código e a flexibilidade do design de software em POO. Ele permite que um único nome de método represente diferentes tipos de ações, dependendo do objeto que o invoca. Isso é particularmente útil quando se lida com coleções de objetos de tipos variados, mas que compartilham a mesma interface.

Por que as outras alternativas estão incorretas:

  • A - Sobrecarga de atributo: Sobrecarga refere-se à capacidade de ter múltiplos métodos com o mesmo nome, mas com diferentes listas de parâmetros na mesma classe, o que não é o caso descrito na questão.
  • B - Sobrescrita de atributo: Sobrescrita de atributo não é um termo usado em POO. Pode-se sobrescrever um método, mas atributos geralmente são ocultados ou sombreados, não sobrescritos.
  • D - Herança: Herança é um conceito onde uma classe derivada herda atributos e métodos de uma classe base, mas não descreve a capacidade de métodos terem comportamentos diferentes.
  • E - Supermétodo: Supermétodo é um termo que não é reconhecido em POO. Pode-se referir a "super" em algumas linguagens para invocar métodos da classe pai, mas não se encaixa na descrição da questão.

Assim, a alternativa C - Polimorfismo é a correta, pois descreve exatamente o cenário proposto pela questão, onde um método definido em uma classe base é implementado de maneira diferente nas classes derivadas, permitindo que os objetos dessas classes derivadas se comportem de acordo com sua própria implementação do método.

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

C) Polimorfismo.

Explicação: O polimorfismo é um dos princípios fundamentais da programação orientada a objetos. Ele permite que um método possua a mesma assinatura (nome e parâmetros) em diferentes classes, mas desempenhe comportamentos diferenciados dependendo da classe específica que está sendo utilizada.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo