Questão #43328

Informática — Informática Diversos

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.