Iniciante - Como faço um print envolvendo Herança

3 respostas
bustamante

Olá amigos Preciso um help!

Vejam:

Principal - SuperMercado.java
package supermercado;

public class SuperMercado {
    public static void main(String[] args) {
        Vendedor vendedor1=new Vendedor("Arthur","Brasileiro",1,"Caixa-Vendas");
        Cliente cliente1=new Cliente("Bianca Fernandes","Brasileiro",1,"Arroz-Feijão.");
    }
}
Pessoa.java
package supermercado;

public class Pessoa {
    public String NomeCompleto,Nacionalidade;
    public Pessoa(String NomeCompleto, String Nacionalidade) {
        this.NomeCompleto = NomeCompleto;
        this.Nacionalidade = Nacionalidade;
    }
    public void exibirNomeCadastro(){
        System.out.println("Nome: "+NomeCompleto);
    }
}
Vendedor.java
package supermercado;

public class Vendedor extends Pessoa{
    private int idVendedor;
    private String Setor;
    public Vendedor (String NomeCompleto,String Nacionalidade,int idVendedor, String Setor){
        super(NomeCompleto,Nacionalidade);
        this.idVendedor=idVendedor;
        this.Setor=Setor;
    }
}
Cliente.jva
package supermercado;

public class Cliente extends Pessoa{
    public int idCliente;
    public String Compras;
    public Cliente(String NomeCompleto, String Nacionalidade, int idCliente, String Compras){
        super(NomeCompleto,Nacionalidade);
        this.idCliente=idCliente;
        this.Compras=Compras;
    }
}
Minha dúvida é, como faço pra fazer um print de todas as informações de cada "Pessoa" O que eu pensei, fazer um método simples na main :
public void exibirDadosCadastro{
 System.out.println(""+NomeCompleto, "+ETC");
}
Mas não rodou e é essa a dúvida. Agora, aproveitando pessoal sou bem inciante, por favor peço que façam uma correção do código, em relação a lógica de herança, se foi realmente implementado da maneira correta. Obrigado a todos, Abraço! 8)

3 Respostas

SierraEx

Eu não entendi muito bem a pergunta, mas vamos lá.

Você poderia criar um método toString() que retornasse os dados do objeto tipo Pessoa, exemplo:

//na classe Pessoa
public String toString() {
  return "Nome Completo: " + this.nomeCompleto + "\n" +
            "Nacionalidade: " + this.nacionalidade;
}

E em todas as classes que herdarem de Pessoa, pode criar um método que sobrescreva o método toString() da classe pai

//na classe Vendedor
public void toString() {
     return super.toString() + "\n" + 
               "ID Cliente: " + this.idCliente + "\n" +
               "Compras: " + this.compras;
}

E em uma classe teste, por exemplo, utilizar System.out.println() ou JOptionPane.showMessageDialog() para exibir os dados, lembrando que este último deve ser feito um import da classe (utilizar a instrução import javax.swing.JOptionPane; depois da instrução package e antes da primeira classe).

//Em um arquivo ClasseTeste.java
public class ClasseTeste {
    public static void main(String[] args) {
         Pessoa p = new Pessoa("Fulano", "Brasileiro");
         System.out.println(p.toString());
         
    }
}

Utilizando as convenções da linguagem para nomear variáveis, o nomes devem utilizar CamelCase, ou seja, no caso de variáveis e métodos, inicia-se com letra minúscula e a cada nova palavra utiliza uma letra maiúscula (ex: minhaHumildeVariavel), nomes de classes seguem o mesmo padrão porém o nome da classe inicia-se com maiúscula.

bustamante

show cara, num tinha pensado nessa ainda.
muito bom
muito obrigado !
valeu

SierraEx

bustamante:
show cara, num tinha pensado nessa ainda.
muito obrigado !
valeu

Precisar, estamos aí

Criado 5 de setembro de 2012
Ultima resposta 5 de set. de 2012
Respostas 3
Participantes 2