Socorro!

Eu estou desenvolvendo um sistema segundo os padrões da OO e encontrei um problema. Eu tenho uma classe para Pessoa Física e uma outra classe para Pessoa Jurídica. Mas agora estou precisando criar um cadastro de clientes, onde um cliente pode ser uma pessoa Física ou Jurídica. O que eu faço agora? 8O

Classe PESSOA
Classe PJ Herda de PESSOA
Classe PF Herda de PESSOA

assim vc pode fazer assim:

[code]public class pessoa{}
public class PJ extends pessoa{}
public class PF extends pessoa{}

public class meuprograma
{
public static void main(String args[])
{

pessoa p1=new PJ();
pe
ssoa p2=new PF();
}
}
[/code]

entendeu???
PJ e PF herdão de pessoa assim elas são pessoas possibilitando o q occore acima…

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Reifel[/color][/size] :joia:

Entendi isso, mas como aplicar isso à um cadastro de Clientes de os clientes tanto podem ser pessoa Físicas como Jurídicas? Como criar uma tela de cadastro para isso?

n entendi…

cria uma entidade pessoa com campos de ambos os tipos (fisica e juridica) e um flag q indica se é fisica ou jurídica. Os campos q nao forem comuns a ambos os tipos vc deixa como NULL e controla o NOT NULL via lógica de programa de acordo com o tipo.

Preciso criar uma classe que tenha tanto atributos e operações de Pessoa Física quanto de Pessoa Jurídica. Não sei se isso é correto. Acham que devo fazer isso mesmo? Mas a linguagem que eu uso não aceita derivação múltipla.

Eu fiz isso e o meu professor disse que isso era errado… Eu tô é confuso. :sad:

nao… o q eu falei eh soh pra modelagem no banco de dados! a estrutura de classes que vc tem é suficiente…

na hora q vc recuperar os dados verifique a flag de tipo e instancie uma PessoaFisica ou PessoaJuridica… entendeu?!

Acho que estou começando a etender… mas isso não ficaria muito complicado para muitas entidades? Além disso, posso ter um cliente que é PJ e outro cliente que é PF dessa forma?

Você vai usar persistência de dados? Se for, vai usar arquivos ou BD?
Se não for usar persistência, use uma estrutura de dados referenciando objetos do tipo Pessoa.
Creio que se você for mais claro nesses pontos fica mais fácil de te dar uma saída.

T+