Não sei se entendi seu problema, mas
herança resolveria seu problema. Dê uma olhada no código abaixo, talvez
sirva. [] Luis .´. import java.util.*; public class AppVenda { public static void main(String[] args)
{ Pessoa[]
pessoas = new Pessoa[2]; pessoas[0]
= new ClientePF( 1,
"Cliente PF", 10, "123456789" ); pessoas[1]
= new ClientePJ( 2,
"Cliente PJ", 50, "12345678901234" ); for( int i=0; i < 2; i++ ){
System.out.println( pessoas[i] ); } } } // // Pessoa, genérica para as classes herdeiras. // abstract class Pessoa{ int idPessoa; String
nmPessoa; int vlLimite; public Pessoa( int
aIdPessoa, String aNome, int aLimite ){ this.idPessoa = aIdPessoa;
this.nmPessoa = aNome; this.vlLimite
= aLimite; } public String toString(){ return this.nmPessoa; } }; // // Pessoa Fisica, herança de Pessoa // class ClientePF extends Pessoa{
String cpf; public ClientePF( int aIdCliente, String aNome, int aLimite,
String aCpf ){ super( aIdCliente, aNome, aLimite ); this.cpf = aCpf; } public String toString(){ return this.nmPessoa + " Linite = " + this.vlLimite +
" CPF: " + this.cpf; } }; // // Pessoa Juridica, herança de Pessoa // class ClientePJ extends Pessoa{
String cnpj; public ClientePJ( int aIdCliente, String aNome, int aLimite,
String aCnpj ){ super( aIdCliente,
aNome, aLimite ); this.cnpj
= aCnpj; } public String toString(){ return this.nmPessoa + " Linite = " + this.vlLimite
+" CNPJ: " + this.cnpj; } }; -----Mensagem original----- Pessoal, como todo
iniciante estou passando por um problema de modelagem de minhas classes
para uma venda. Vejam como modelei, não vou colocar todos os atributos e
métodos, somente os necessários: Venda : cliente,
datavenda, etc Item: Venda, Produto, etc Aqui esta o problema: Cliente : Limite, etc ClientePF ClientePJ Sendo que ClientePF
é uma Pessoa e tb precisa receber os atributos e métodos de clientes; ClientePJ é uma
empresa e tb recebe os atributos e métodos de clientes; Como resolver para que isso funcione??? Agradeço, ===================================== |