Boa noite!, em que outros contextos eu posso utilizar implementações de classes genéricas que tragam grandes benefícios?,
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Boa noite!, em que outros contextos eu posso utilizar implementações de classes genéricas que tragam grandes benefícios?,
Olá Winicius, tudo bem?
A forma que mais tenho utilizado as Classes Genéricas é para adicionar itens de vários tipos, utilizando a mesma classe.
Criei uma classe simples, para demonstrar, veja:
public class ClasseGenerica<T>
{
// define um Array do tipo Generic com tamanho 5
T[] obj = new T[5];
int contador = 0;
// adiciona itens ao tipo genérico
public void Adicionar(T item)
{
//verifica o tamanho
if (contador + 1 < 6)
{
obj[contador] = item;
}
contador++;
}
//indexador para a iteração da instrução foreach
public T this[int i]
{
get { return obj[i]; }
set { obj[i] = value; }
}
}No main, conseguimos adicionar item do tipo string, int ou qualquer outro. Veja:
static void Main(string[] args)
{
ClasseGenerica<string> Obj = new ClasseGenerica<string>();
//adiciona string
Obj.Adicionar("Generico");
Obj.Adicionar("Generico");
Obj.Adicionar("Generico");
Obj.Adicionar("Generico");
Obj.Adicionar("Generico");
Console.WriteLine("Classe ClasseGenerica<T> de objetos string");
//Exibe os valores
for (int i = 0; i < 5; i++)
{
Console.WriteLine(Obj[i]);
}
Console.ReadLine();
}static void Main(string[] args)
{
ClasseGenerica<int> Obj = new ClasseGenerica<int>();
//adiciona inteiros
Obj.Adicionar(10);
Obj.Adicionar(20);
Obj.Adicionar(30);
Obj.Adicionar(40);
Obj.Adicionar(50);
Console.WriteLine("Classe ClasseGenerica<T> de objetos int");
//Exibe os valores
for (int i = 0; i < 5; i++)
{
Console.WriteLine(Obj[i]);
}
Console.ReadLine();
}Espero ter ajudado. Bons estudos!