Por que exatamente você usaria classes genéricas
Esse artigo é pequeno e a única finalidade é entender “por dentro” de classes genéricas, se quiser construir uma? Bom … por que construiria uma? Vamos entender.
É muito comum que tenhamos que usar no nosso dia-a-dia classes como List, para resolver algum tipo de problema específico, armazenar lista de determinados dados é algo que estamos cansados de ver.
Vamos dizer que temos uma aplicação que inclui carrinho de compras, então podemos ter algo como:
E então nesse momento nos perguntamos, como eu crio uma classe que recebe parâmetros entre “<…>” ? E por que eu criaria isso ?
Bem, os motivos podem ser vários, então digamos que você está em um projeto de games (provavelmente você não usará Dart para isso, mas é só exemplo) e precise desenvolver um bau especial, para guardar itens do jogo. Esses itens podem ser arma, roupa, cartas etc.
Poderíamos então definir classes dos objetos e a interface do baú para cuidar de cada item, teríamos algo desse tipo:
Ruim … não é mesmo? Note que o trabalho seria infinito, pois temos muitas possibilidades e toda vez que nosso jogo tiver um item novo também teremos que adicionar um nova interface para setar e implementar o tratamento adequado.
Enfim … chegamos no momento mágico, e usaremos as classes genéricas. Veja como simplificamos esse carinha e usamos o poder do paradigma orientado a objeto.
E …. tanan !!! Aqui está a grande mágica das classes genéricas.
Acho que é bem difícil a galera precisar usar isso direto, mas é sempre bom saber sobre os recursos que a tecnologia nos dá para facilitar nossa vida. Muitas vezes estamos andando em círculos, reinventando a roda, e a solução está bem diante de nós nas documentações … kkkk
Meu foco foi ajudar a entender por que e em qual momento poderia usar esse recurso, espero ter agregado de alguma forma.