Generics no Delphi 2010 – Parte 3

 

Na última QuickTip sobre generics(Parte 2), construímos uma classe de navegação para trabalharmos com qualquer tipo de dado. Hoje falaremos como podemos restringir a declaração de apenas determinados tipos. Por exemplo, no nosso sistema, temos uma classe base no qual todos os nossos domínios herdam, essa classe se chama TBaseDomain. Nós iremos neste exemplo, restringir a nossa classe de navegação apenas à TBaseDomain.

 

Vamos criar três classes para exemplificarmos melhor.

 


 

Para restringirmos o uso da classe TNavegaLista para que seja usada apenas com nossos domínios, precisamos alterar a declaração das mesma, que ficará assim:

 


 

Alterando a declaração de nossa classe, inserindo “:TBaseDomain”, estamos dizendo para o Delphi que apenas tipos que herdem de TBaseDomain podem ser usados nesta classe. Com isso, no nosso exemplo, não conseguiremos declarar Lista:TNavegaLista<Integer>, conseguiremos apenas trabalhar com Cliente e Produto.

 


 

Acima está um exemplo de como seria a declaração da classe para se trabalhar com clientes. Observe os métodos, todos eles retornam um TCliente, que é o tipo especificado na declaração da variável.

 

É isso aí pessoal, encerramos por aqui esta série de quick tips sobre Generics no Delphi 2010.

 

Um abraço. Até a próxima.

rcoelhorj@gmail.com
Ricardo Coelho.