Duvida, tipo!

6 respostas
guisantogui

Pessoal, como faço para fazer com que uma pessoa possa receber mais de um “tipo”!

Exemplo:

Ser cliente e fornecedor ao mesmo tempo!

Vlw!

6 Respostas

Marky.Vasconcelos

Como assim?

Em questão de OO ambos Cliente e Fornecedor extendem Pessoa.

guisantogui

Não, não vou poder fazer isso usando herança, apenas vou ter a classe “Pessoa” nada de classe “Cliente” e “Fornecedo”, mas tenho que fazer com que a “Pessoa” possa ser um cliente ou fornecedor, ou ambos ao mesmo tempo!!

Se alguem souber como fazer isso posta ai! :wink:

Vlw!

dyorgio

claro

2 caminhos :

  1. usar uma lista de tipos dentro da pessoa , e ir adicionando e removendo;

  2. usar uma mascara de inteiros, mas complicadinho…mais soh no começo:

CLIENTE = 0x1;
FORNECEDOR = 0x2;

logo…se tipo for CLIENTE | FORNECEDOR (operação de bit logica)
ficara 0x3 de valor :slight_smile:

Marky.Vasconcelos

Sua duvida nao faz sentido.

Então não é só necessario Pessoa ter os atributos de cliente e fornecedor?

guisantogui

Gostei do teu “caminho 1”, dyorgio, vou tentar desta forma!

Muito obrigado pela dica, como eu não pensei nisto! :slight_smile:

Vlw!

fabiocsilva

Esse é um problema clássico da engenharia de software. Dá uma lida em http://martinfowler.com/apsupp/roles.pdf

Num caso como o seu geralmente eu resolvo como na imagem abaixo:

Criado 2 de março de 2010
Ultima resposta 2 de mar. de 2010
Respostas 6
Participantes 4