Com base na linguagem C# e nos conceitos de sobrecarga de função e herança, considere o seguinte
Com base na linguagem C# e nos conceitos de sobrecarga de função e herança, considere o seguinte código: class z { public static void Main() { yyy a = new yyy(); a.abc(10); a.abc("tchau"); a.abc("não", 100); } } class yyy { public void abc(int i) { System.Console.WriteLine("abc" + i); } public void abc(string i) { System.Console.WriteLine("abc" + i); } public void abc(string i, int j) { System.Console.WriteLine("abc" + i + j); } } Avalie as seguintes afirmativas: 1. A classe yyy tem três funçôes, todas elas com o mesmo nome. A distinção entre elas está nos tipos de dados dos parâmetros. 2. No código, está claro o uso de sobrecarga de função quando chamamos a função pelo mesmo nome, mas passando parâmetros diferentes. 3. No código, está claro o uso de herança, pois há a chamada de função pelo mesmo nome e com passagem de parâmetros diferentes. 4. O motivo pelo qual a sobrecarga de função funciona na linguagem C# é que ela não conhece uma função pelo nome, mas por sua assinatura. 5. Em C#, assinatura é o nome da função original, mais o número e os tipos de dados de seus parâmetros individuais. Assinale a alternativa correta.