Fórum Como pegar atributos de outra classe? #574055

20/01/2017

0

Boa tarde,

Fiz uma prova hoje mas na hora de construir a aplicação acabei estruturando erroneamente as classes. Basicamente as classes são Cliente e Conta.

Queria pegar tipo:

  TCliente = class
  private
    { private declarations }
    FNome: string;
    FCpf: string;
    Conta: TConta;
  published
    { published declarations }
  end;


Para dizer que o Cliente tem uma Conta. Pois lá coloquei a conta herdando do Cliente, o que não tem nada a ver são tipos diferentes. Só que não consigo pegar essa classe. Tenho que colocar em outra unit ? Como é...

  TConta = class
  protected
    { privatae declarations }
    FConta: string;
    FAgencia: string;
    FSaldo: string;
    procedure SetAgencia(const Value: string);
    procedure SetConta(const Value: string);
    procedure SetSaldo(const Value: string);
  protected
    { protected declarations }
  public
    { public declarations }

  published
    { published declarations }
    property Conta: string read FConta write SetConta;
    property Agencia: string read FAgencia write SetAgencia;
    property Saldo: string read FSaldo write SetSaldo;
  end;
Filipe Lobato

Filipe Lobato

Responder

Post mais votado

20/01/2017

Olá! Se você colocou na mesma unit teoricamente deve funcionar. Faça um teste simples: coloque o código do TConta antes do TCliente

Jones Granatyr

Jones Granatyr
Responder

Gostei + 1

Mais Posts

20/01/2017

Filipe Lobato

Olá! Se você colocou na mesma unit teoricamente deve funcionar. Faça um teste simples: coloque o código do TConta antes do TCliente


Funcionou, haha, engraçado que ainda pouco eu fiz isso que você falou e não tinha funcionado. Porém o mais correto é colocá-los em Units diferentes não é isso? Se for, como eu coloco, da mesma forma? Só adicionando o Uses da classe?
Responder

Gostei + 0

26/01/2017

Jones Granatyr

Opa! Uma boa prática é colocar em units diferentes, assim o código fica melhor organizado (principalmente em sistemas grandes). É só na unit Cliente fazer uses para a unit Conta :)
Responder

Gostei + 0

26/01/2017

João Lima

Sempre e melhor colocar em Units diferente... Até porque se for colocar da mesma forma basicamente vai ser ter que adicionar o Uses da Classe
Responder

Gostei + 0

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

Aceitar