Partial Class or Partial Type em Delphi .NET/Win32
Partial Class ou Partial Types foi introduzida no Visual Studio 2005. Este conceito nos ajuda a dividir nossa class em vários arquivos. Se escrevermos uma class em um único arquivo dependendo de seu tamanho, isso pode nos levar a um esforço enorme na sua manutenção e entendimento, por mais organizada que ela seja, então a solução é dividir em partes menores e cada parte em um arquivo diferente isso é Partial Class implementado no VS2005.
No Delphi nós também podemos criar uma Partial Class, apesar de não ter a mesma nomecratura, o conceito é o mesmo, dividir class em vários arquivos. Criando Partial Class, podemos ter uma class grande, bem organizada e de fácil entendimento e manutenção.
Partial Class em Delphi .NET/Win32
Usaremos para criar uma Partial Class em Delphi à palavra chave "helper". Com helper podemos dividir nossa class em vários arquivos como veremos no exemplo abaixo passo a passo:
- Primeiro iremos criar nossa class principal.
unit Class_Principal;
interface
uses SysUtils, Classes, Dialogs;
type
TClass_Principal = class
public
{ Public declarations }
// Metodos
class procedure Mensagem_Principal(Msn: string);
end;
implementation
{ TClass_Principal }
class procedure TClass_Principal.Mensagem_Principal(Msn: string);
begin
ShowMessage(Msn + Class Principal);
end;
end.
- Segundo iremos criar nossa primeira Partial Class.
unit Class_PartialUm;
interface
uses SysUtils, Classes, Dialogs, Class_Principal;
type
TClass_PartialUm = class helper TClass_Principal
public
{ Public declarations }
// Metodos
class procedure Mensagem_PartialUm(Msn: string);
end;
implementation
{ TClass_PartialUm }
class procedure TClass_PartialUm.Mensagem_PartialUm(Msn: string);
begin
ShowMessage(Msn + Class Partial Um);
end;
end.
- Terceiro iremos criar nossa segunda Partial Class.
unit Class_PartialDois;
interface
uses SysUtils, Classes, Dialogs, Class_Principal, Class_PartialUm;
type
TClass_PartialDois = class helper (TClass_PartialUm) TClass_Principal
public
{ Public declarations }
// Metodos
class procedure Mensagem_PartialDois(Msn: string);
end;
implementation
{ TClass_PartialDois }
class procedure TClass_PartialDois.Mensagem_PartialDois(Msn: string);
begin
ShowMessage(Msn + Class Partial Dois);
end;
end.
OBS: A palavra entre parênteses em destaque "
TClass_PartialUm", informa que essa é a class ancestral de TClass_PartialDois, desta forma a class TClass_PartialDois consegue implementa a class TClass_Principal. Se formos criar outra unit com a class TClass_PartialTres basta informarmos que a ancestral dela é TClass_PartialDois e assim por diante.- Como usar ?
...
uses Class_Principal, Class_PartialUm, Class_PartialDois
...
procedure Form1.Button1Click(Sender: TObject);
begin
TClass_Principal.MensagemDeErro(Delphi também faz);
TClass_Principal.Mensagem_PartialUm(Delphi também faz);
TClass_Principal.Mensagem_PartialDois(Delphi também faz);
end;
...
Observe que a class usada por nós, sempre foi TClass_Principal pois as outras são nada mais do que implementações feitas para dividirmos nosso código fonte para melhor entendimento e melhor manutenção.
Valeu Delphi. e façam bom proveito desse artigo.
Isaque Pinheiro
"O Homem está disposto a negar tudo aqui que não compeende."