Dúvida com Interfaces e Classes
Olá consultores,
gostaria de esclarescer a seguinte dúvida:
Preciso criar uma classe descendente de TPersistent, porém essa classe já tem sua interface.
Ex.:
tenho a interface ICliente
ICliente = interface
[xxx-xxx-xxx-xxx-xxx]
property ID...
property NOME...
end
tenho a classe TCliente
TCliente = classe(TInterfacedObject, ICliente)
property ID...
property NOME...
end
porém, eu preciso que TCliente descenda também de TPersistent (devido a serialização), mas tenha sua interface para que eu não precise, entre outras coisas, me preocupar em liberar a memória utilizada pela instância dessa classe ao sair do escopo.
[]s
Alexandre Amaral.
Alexandre Neto
Curtidas 0
Respostas
Wesley Yamazack
14/01/2009
Olá Alexandre,
TInterfacedObject herda diretamente de TObject.
Se quiser ter uma classe que herde de TPersistent e implemente uma interface você deve herdar de TInterfacedPersistent.
Dessa forma, sua classe ficaria assim:
TCliente = classe(TInterfacedPersistent, ICliente)
property ID...
property NOME...
end
Assim você tem uma classe que herda de TPersistent( pois a classe TInterfacedPersistent herda de TPersistent ) e que implementa uma interface.
e ainda com o controle de referencias que o IntefacedObject faz, pois o InterfacedPersistent também faz esse controle.
Att,
Wesley Yamazack
TInterfacedObject herda diretamente de TObject.
Se quiser ter uma classe que herde de TPersistent e implemente uma interface você deve herdar de TInterfacedPersistent.
Dessa forma, sua classe ficaria assim:
TCliente = classe(TInterfacedPersistent, ICliente)
property ID...
property NOME...
end
Assim você tem uma classe que herda de TPersistent( pois a classe TInterfacedPersistent herda de TPersistent ) e que implementa uma interface.
e ainda com o controle de referencias que o IntefacedObject faz, pois o InterfacedPersistent também faz esse controle.
Att,
Wesley Yamazack
GOSTEI 0
Alexandre Neto
14/01/2009
Valeu Wesley,
mais uma vez obrigado pelo suporte.
[]s
Alexandre Amaral.
GOSTEI 0
Wesley Yamazack
14/01/2009
Disponha Alexandre ! Se precisar estamos ai.
Continue assim sua estrutura esta muito boa.
Parabéns
Att,
Wesley Yamazack
Continue assim sua estrutura esta muito boa.
Parabéns
Att,
Wesley Yamazack
GOSTEI 0