modelagem oop...
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!
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
Curtidas 0
Respostas
Rodolpho Silva
29/03/2014
Tente com o uso dos Generics, assim;
E o uso seria assim:
Bem, espero ter ajudado....
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