Dúvida no código - toString()

5 respostas
E

Pessoal esse código esta correto? estou com dúvida no toString, pois deve-se usar "+nome+" ou seria "+getNome+" ?

Eu preciso fazer essa parte "public String getNome(){" ?

public class Cliente extends PessoaFisica{
    private boolean fumante;
    
    /** Creates a new instance of Cliente */
    public Cliente() {
    }
    public Cliente(String nome, String telefone){
        this.nome = nome;
        this.telefone = telefone;
    }
    public String getNome(){
        return this.nome;
    }
    public String getTelefone(){
        return this.telefone;
    }
    
    public String toString(){
        return "Nome: " + nome + "Telefone: " + telefone + "Fumante: " + fumante;        
    }

    public boolean equals(Object obj) {
        Cliente cb = (Cliente)obj;
        if (this.nome == cb.nome){
            return true;
        }
        return false;
    }
    
    
}

Obrigado

5 Respostas

Marky.Vasconcelos

Voce pode usar dos dois modos.

O to string é util para voce fazer isso:

Cliente cliente = new Cliente();
//Seto os atributos do cliente
System.out.println(cliente);

Ao fazer isso o método toString do objeto será chamado, caso não seja implementado vai aparecer algo como cliente@156af

F

Não faltam as variáveis de instância, nome e telefone?

E

Não precisa, usei:

public class Cliente extends PessoaFisica{
:smiley:
Ele “Busca” da classe PessoaFisica

Valeu

F

Opss… não prendi minha atenção na herança.

lusilva1982

Você está reescrevendo o método toString(), original da Object, ou seja, você pode usar direto o atributo ou o método Getter, isto depende das suas implementações. Se no método Getter fazer algum controle de null, nomes, etc… isto será aplicado para o override tb! :wink:

Criado 13 de abril de 2008
Ultima resposta 14 de abr. de 2008
Respostas 5
Participantes 4