Fórum POO #365677

30/10/2008

0

Preciso de um esclarecimento, pois tenho a seguinte interface:

IA: interface
//delclarações
end;

e duas classes que devem implementar esta interface:

TB = class(TInterfacedObject, IA)
.
.
.
end;

TC = class(TInterfacedObject, IA)
.
.
.
end;

Terei um objeto do tipo IA que poderá ser criado como sendo TB ou TC.
A minha dúvida é a seguinte: Como e onde eu declaro propriedades que sejam manipuladas por IA, TB e TC?

Prentendo usar um objeto do tipo IA da seguinte forma:

var
ObjetoIA: IA;
.
.
.

if algumacoisa then
ObjetoIA := TB.create
else
ObjetoIA := TC.create;
.
.
.

TB.propriedadeX := ´teste´;
.
.
.

showmessage(ObjetoIA.propriedadeX);


Desde já agradeço.


Alex Maia

Alex Maia

Responder

Posts

31/10/2008

Bystealth

Vc pode criar property na interface, por exemplo:
IA = interface
  function GetName:string;
  procedure SetName(Value :string);
  property Name: string read GetName write SetName; 
end;

As classes que implementarem esta interface deverão ter os métodos GetName e SetName e terão a propriedade Name.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar