Galera estou ministrando um treinamento de JAVA e fui perguntado se sobrecarga era exemplo de polimorfismo. De cara disse que não, por que quando usamos sobrecarga não existe ligação dinâmica. Também nunca li que sobrecarga fosse exemplo de polimorfismo, diante da insistência do aluno disse que iria pesquisar e levar uma explicação na próxima aula. Pesquisei nos meus livros e não achei nada falando que sobrecarga era exemplo de polimorfismo, mas quando dei uma googleada olha só o que achei:
Este tipo de polimorfismo permite a existência de vários métodos de mesmo nome, porém com assinaturas levemente diferentes ou seja variando no número e tipo de argumentos e no valor de retorno. Ficaria a cargo do compilador escolher de acordo com as listas de argumentos os procedimentos ou métodos a serem executados. ?
?Sobrecarga de método, este tipo de polimorfismo permite a existência de vários métodos de mesmo nome, porém com assinaturas levemente diferentes?
Eu continuo achando que sobrecarga não é um exemplo de polimorfismo por não usa ligação dinâmica. Estou errado?
Sobrecarga pode ser considerado um tipo de polimorfismo se considerarmos que existem dois tipos de polimorfismo: Estático, e Dinamico. Sobrecarga , shadowing, auto-boxing e generics são exemplos de polimorfismo estático.
Acho que é importante definir bem o conceito que você adotará de polimorfismo.
Se for um conceito amplo, simplesmente “várias formas” explique sobre o polimorfismo estático e dinâmico e considere sobrecarga um tipo de polimorfismo.
Entretanto, mesmo você pode definir polimorfismo como “contextual”. Ou seja, o mesmo método muda de comportamento de acordo com seu contexto, ou melhor, de acordo com a classe que o implementa.
Nesse caso, sobrecarga não seria polimorfismo, uma vez que a assinatura do método é diferente e, portanto, trata-se de métodos diferentes. O mesmo vale para shadowing e auto-boxing.
Não é a primeira vez que vejo esse assunto no GUJ. Acho também que não custaria perguntar ao aluno onde ele ouviu a definição de sobrecarga como polimorfismo e dar uma olhada no que diz o autor.
Eu já teria respondido na lata que sobrecarga é um exemplo de polimorfismo sim. Muito bom o questionamento e principalmente a sua explicação Vini. Nunca tinha pensado que poderíamos explicar polimorfismo “polimorficamente” :lol: . O legal é mostrar as duas formas, senão sempre vai surgir aquelas discussões inúteis entre os que estão aprendendo de “é” ou “não é”…
Por favor, adriano_seven_byte, não ressuscite tópicos antigos. E, se for fazer isso, deixe claro o motivo pelo qual está ressuscitando o tópico.
Evite responder casualmente uma dúvida (nesse caso de 2007!) como se fosse perguntada ontem. O pessoal, se brincar, já até se formou na faculdade que estava cursando naquela época.