SóProvas


ID
1215271
Banca
CESPE / CEBRASPE
Órgão
TJ-SE
Ano
2014
Provas
Disciplina
Engenharia de Software
Assuntos

Tendo como base os padrões de projeto de software, julgue os itens a seguir.

O polimorfismo na programação orientada a objetos é caracterizado quando duas ou mais classes distintas têm métodos de mesmo nome, de forma que uma função possa utilizar um objeto de qualquer uma das classes polimórficas, sem necessidade de tratá-lo de forma diferenciada conforme a classe desse objeto.

Alternativas
Comentários
  • Polimorfirmos é caracterizado pela junção de herança E a existência de mesma assinatura em algum método. Entendo que essa questão está errada ao afirmar que o polimorfismo é caracterizado pela existência de métodos de mesmo nome.

    Outro erro, na minha opinião, é afirmar que os métodos devem ter o mesmo nome, pois, na verdade, os métodos necessitam ter a mesma assinatura. A assinatura é composta pelo nome do método e seus parâmetros. O gabarito deveria ser ERRADO.
  • civio, metodos em uma classe filha com a mesma assinatura que na classe pai seria uma sobrescrita

  • Alguém pode explicar o que o trecho "sem necessidade de tratá-lo de forma diferenciada conforme a classe desse objeto" quer dizer?

  • Fogo, a questão me parece errada:

    "O polimorfismo na programação orientada a objetos é caracterizado quando duas ou mais classes distintas têm métodos de mesmo nome (...)"

    Nada me impede de criar uma classe A e outra B que implementam um método M1 com mesmo nome (ou até mesmo assinatura). O resto da frase estaria correta SE tivesse sido caracterizado a sobrescrita:
    "(...) de forma que uma função possa utilizar um objeto de qualquer uma das classes polimórficas, sem necessidade de tratá-lo de forma diferenciada conforme a classe desse objeto."



  • Giordanno, quer dizer que ele não faz tratamento. Por exemplo, temos a Classe Pessoa e sua filha Pessoa_Fisica, uma outra classe qualquer Consulta em determinado momento chama algum método da classe Pessoa, entretanto, a classe Pessoa_Fisica também tem esse método e pode ter sobrescrito ele. Essa classe pode receber um Objeto do tipo Pessoa_Fisica e chamar o mesmo método, dependendo de como estiver estruturado, será utilizado o método da classe filha ou da classe mãe, ou seja, não houve nenhum tratamento diferenciado pra receber a classe filha. 

    Ficou longo mas espero ter ajudado.

  • Valeu Flávio!

  • Definimos Polimorfismo como um princípio a partir do qual as classes derivadas de uma única classe base são capazes de invocar os métodos que, embora apresentem a mesma assinaturacomportam-se de maneira diferente para cada uma das classes derivadas.

    Leia mais em: Conceitos e Exemplos – Polimorfismo: Programação Orientada a Objetos http://www.devmedia.com.br/conceitos-e-exemplos-polimorfismo-programacao-orientada-a-objetos/18701#ixzz3shYbsiA7

  • Está certa a questão, ela trata do polimorfismo de função, capacidade de uma funçao manipular objetos de diferentes tipos sem modificar a sua assinatura. O generic é um exemplo de polimorfismo de função.