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-----
De: George-Terra [mailto:[EMAIL PROTECTED]]
Enviada em: sexta-feira, 10 de janeiro de 2003 12:58
Para: java-list@soujava.org.br; enterprise-list@soujava.org.br
Assunto: [java-list] Modelagem de Vendas

 

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,

=====================================
George Queiroz 
Analista/Programador 
Alocado a www.informatec-sp.com

=====================================

Responder a