Dúvida cruel  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
jr.mg
JavaChild

Membro desde: 25/07/2006 22:39:04
Mensagens: 131
Offline

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

Júnior
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Considere, ao invés de usar herança em tudo, criar diferentes hierarquias e acoplar as classes entre si.
[WWW]
zetamayossi
Debugger
[Avatar]

Membro desde: 19/12/2006 16:41:40
Mensagens: 69
Localização: Brasilia / DF
Offline

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

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

Vlw...
Zé Tamayossi

Ride the waves to glory!!!
[MSN]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

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.

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
jr.mg
JavaChild

Membro desde: 25/07/2006 22:39:04
Mensagens: 131
Offline

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

Júnior
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team