Polimorfismo
O que é Polimorfismo?
Na programação orientada a objetos, Polimorfismo é a capacidade de um objeto poder ser referenciado de várias formas. Assim, é possível tratar vários tipos de maneira homogênea (através da interface do tipo mais abstrato). O polimorfismo é caracterizado quando duas ou mais classes distintas tem 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 tratar de forma diferenciada conforme a classe do objeto.Obs : cuidado, polimorfismo não quer dizer que o objeto fica se transformando, muito pelo contrário, um objeto nasce de um tipo e morre daquele tipo, o que pode mudar é a maneira como nos referimos a ele
Uma das formas de implementar o polimorfismo é através de uma classe abstrata, cujos métodos são declarados mas não são definidos, e através de classes que herdam os métodos desta classe abstrata ● Conceito
○ Tipos ( há três tipos de polimorfismo)
■ Universal
● Inclusão, ou overriding representa a possibilidade de redefinir um método em classes que são herdeiras de uma classe básica chamase a especialização.
● Paramétrico representa a possibilidade de definir várias funções do mesmo nome mas possuindo parâmetros diferentes .
■ AdHoc
● Sobrecarga representa a permissão ter funções do mesmo nome, com funcionalidades similares, em classes sem nenhuma relação entre elas.
○ Exemplos
■ Universal
● Inclusão(tipo de polimorfismo mais básico que existe)
○ Em Java:
■ List lista = new LinkedList();
● Paramétrico
○ Em C++
■ Templates
○ Em C# ou Java
■ Generics
○ Código int addition (int, int); float addition (float, float); char addition (char, char);
■
AdHoc
● Sobrecarga
○ Código public static void mostrarCalculo(Soma soma, double x, double y) { System.out.println("O resultado é: " + soma.calcular(x, y)); } public static void