Tenho um objeto implementado utilizando uma herança nativa da DELPHI e gostaria de fazer uso de INTERFACE para este objeto sem precisar implementar uma nova classe.
base
Um patterns adapter objetiva gerar um adaptador que recebe um objeto externo e implementa novas funcionalidade.
elementar meu caro
Não estamos falando de herança, mas de um adaptador ao objeto que adiciona funcionalidade para o qual não foi desenhado originalmente.
Destaco como o adapter responde como se fosse o próprio objeto expondo procedures, funções e atributos diretos sem fazer CAST dos mesmos.
Unit: MVCBr.Patterns.Adapter;
[code]
uses MVCBr.Patterns.Adapter;
Type
// objeto base a ser adaptado
TMeuObjeto = Class(TObject)
public
texto:string;
End;
procedure TForm85.FormCreate(Sender: TObject);
var
LAdapter : IMVCBrAdapter<TMeuObjeto>;
begin
LAdapter := TMVCBrAdapter<TMeuObjeto>.create(nil);
// atribuir valor
LAdapter.texto := ‘texto de exemplo’;
// pegando o valor do objeto
ShowMessage( LAdapter.texto );
end;
[/code]