static void MostrarOQueEhPolimorfismo() { tela.DesenharLinha(); tela.EscreverNaCor("2) O que é Polimorfismo?", Tela.corInformacaoDestaque); tela.PularLinha(); tela.Escrever("Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar " + "métodos que têm a mesma identificação (assinatura) mas comportamentos distintos, especializados para cada classe derivada, " + "usando para tanto uma referência a um objeto do tipo da superclasse. A decisão sobre qual o método que deve ser selecionado, " + "de acordo com o tipo da classe derivada, é tomada em tempo de execução, através do mecanismo de ligação tardia."); tela.PularLinha(); tela.Escrever("No exemplo abaixo, temos a classe \"Pessoa\" que contêm o método \"Cumprimentar\". As classes filhas \"Ingles\", " + "\"Brasileiro\" e \"Paranaense\" sobrescrevem este método de acordo com sua particularidade: "); // fonte: http://www.dca.fee.unicamp.br/cursos/PooJava/polimorf/index.html#:~:text=Polimorfismo%20%C3%A9%20o%20princ%C3%ADpio%20pelo,objeto%20do%20tipo%20da%20superclasse. tela.PularLinha(); var brasileiro = new Brasileiro(); var ingles = new Ingles(); var paranaense = new Paranaense(); tela.EscreverNaCor("Cumprimentar o Brasileiro:", Tela.corInformacao); Cumprimentar(brasileiro); tela.PularLinha(); tela.EscreverNaCor("Cumprimentar o Inglês:", Tela.corInformacao); Cumprimentar(ingles); tela.PularLinha(); tela.EscreverNaCor("Cumprimentar o Paranaense:", Tela.corInformacao); Cumprimentar(paranaense); tela.PularLinha(); }