Boa noite!, em que outros contextos eu posso utilizar implementações de classes genéricas que tragam grandes benefícios?,
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!