modelagem oop...

Delphi

29/03/2014

boa noite...
estou com uma duvida em uma estrutura oop...

estou comecando a estudar oop...
portanto meus conhecimentos sao poucos...

como ficaria uma classe por exemplo TPessoa e TTelefone...

exemplo...

TPessoa teria nome, data de nascimento e varios telefones...
como eu colocaria esses varios telefones na classe tpessoa ?

se eu criar uma classe TTelefone, como poderia colocar nessa classe varios telefones e "vincular" essa a TPessoa ?!

alguem poderia me ajudar ?!




obrigado!



abraços!
Felipe Barros

Felipe Barros

Curtidas 0

Respostas

Rodolpho Silva

Rodolpho Silva

29/03/2014

Tente com o uso dos Generics, assim;
TTelefone = class
public
  DDD: String;
  Numero: String;
end;

TTelefoneLst = class(TObjectList<TTelefone>)
public
   function New: TTelefone;
end;

TPessoa = class
public
  Nome: String;
  CPF: String;
  Telefones: TTelefoneLst;
  constructor Create;
  destructor Destroy;
end;


constructor Create;
begin
  Telefones: TTelefoneLst.Create;
end;

destructor Destroy;
begin
  FreeAndNil(Telefones);
end;


function New: TTelfone;
begin
  Result := TTelefone.Create;
  Add(Result);
end;



E o uso seria assim:
var
  Pessoa: TPessoa;
  tel: TTelefone;
begin
  // Criando a instância do objeto
  Pessoa := TPessoa.Create;

  // Adicionando telefones
  Pessoa.Telefones.New.Numero := '123456789';
  Pessoa.Telefones.New.Numero := '987654321';

  // Percorrendo os registros
  for tel in Pessoa.Telefones do
  begin
     ShowMessage('Telefone nº: ' + tel.Numero);
  end;

  // Após o uso, destruindo a instância...
  FreeAndNil(Pessoa);
end;



Bem, espero ter ajudado....
GOSTEI 0
POSTAR