Generics no Delphi 2010 – Parte 2

 

Criando sua classe genérica

 

Olá Vimos na quick tip anterior um exemplo clássico de uso de generics com o uso da lista genérica do Delphi. Agora vamos construir uma classe de exemplo, para demonstrar como declarar e usar generic em suas classes.

 

No nosso exemplo, vamos criar uma classe para fazer a navegação dentro de uma lista. Esta nossa classe terá métodos para avançar, voltar, ir para o primeiro e para o último item da lista.

 

 

Como podemos ver na figura acima, nós declaramos o tipo genérico entre “< >”. Nós chamamos de T este tipo genérico, mas você poderia colocar o nome que desejasse, pois é o nome de referencia ao tipo genérico.

Na sessão private, Declaramos um List do mesmo tipo genérico da nossa classe, isso significa dizer que o tipo que definirmos para a nossa classe NavegaLista será o tipo da nossa lista interna.

CurrentIndex é apenas para armazenarmos o índice atual da lista e controlarmos a navegação.

 

Mais abaixo, na sessão public, vemos os métodos de navegação, first, prior, next, last e o método Current, observe que o tipo de retorno deles é T. Ou seja, nossos métodos retornarão o tipo do item que está sendo trabalhado na nossa lista.

 

Vamos ver abaixo a implementação destes métodos.

 


 

Como podem observar, os métodos possuem implementação bem simples, apenas atualizam o currentIndex e retorna o item correspondente da lista.

 

Para nossa classe ficar pronta falta apenas declararmos um construtor que receba um TList como parâmetro, este parâmetro será injetado no filed Lista e será a nossa lista a ser navegada.

 

 

 

É isso aí pessoal. Até a próxima.
Abraço.

Ricardo Coelho.