Dúvida cruel

4 respostas
J

Numa classe pessoa eu tenho o atributo NOME. Esta pessoa pode extender uma pessoa fisica(cpf,rg,dtnascimento) ou juridica(cnpj,ie).
Sendo que pessoa fisica pode ser cliente ou fornecedor e tbm a pessoa juridica pode ser cliente ou fornecedor.
Ai caio numa situacao em que clienteFisica não possui o mesmos dados de fornecedorfisica e clientejuridica nao possui os mesmos dados de fornecedor juridica…como eu faço essa hierarquia…

Grato

4 Respostas

ViniGodoy

Considere, ao invés de usar herança em tudo, criar diferentes hierarquias e acoplar as classes entre si.

zetamayossi

já pensou em utilizar o conceito de entidade… tipo… a pessoa seria uma entidade…

dai cliente tbm… fornecedor tbm… independente de fisica ou juridica

danieldestro

Olha, de repente usar interfaces pode ser útil para simular herança múltipla no seu sistema.

Classes:
PessoaFisica extends Pessoa
PessoaJuridica extends Pessoa

E as duas últimas classes implementariam Cliente e Fornecedor.

Mas como nem toda Pessoa é um cliente e/ou fornecedor, implementar diretamente pode ser um erro semântico. Então até faz sentido usar algum tipo de relacionamento do tipo composição.

J

Sim…já pensei nessa possibilidade…mas neste caso eu iria reescrever código em ClienteFisica e ClienteJuridica e o mesmo para fornecedor…correto?

Criado 22 de dezembro de 2006
Ultima resposta 30 de dez. de 2006
Respostas 4
Participantes 4