Ir ao conteúdo
  • Cadastre-se
Albert Wilian

Java Podem me ajudar na questão de JAVA com Herança?

Recommended Posts

Cria uma Classe Pessoa, contendo os atributos encapsulados, com seus respectivos seletores 
(getters) e modificadores (setters), e ainda o construtor padrão e pelo menos mais duas opções de 
construtores conforme sua percepção. Atributos: String nome; String endereço; String telefone;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia @Albert Wilian

 

Nós não podemos escrever o código para você, nós só podemos lhe auxiliar tirando duvidas e corrigindo algum código que você já tenha feito.

 

Se puder postar o código que você já fez ou colocar em qual parte do exercício você está com duvida, poderemos lhe ajudar melhor :D

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 11/06/2018 às 07:34, Leonardo0308 disse:

Bom dia @Albert Wilian

 

Nós não podemos escrever o código para você, nós só podemos lhe auxiliar tirando duvidas e corrigindo algum código que você já tenha feito.

 

Se puder postar o código que você já fez ou colocar em qual parte do exercício você está com duvida, poderemos lhe ajudar melhor :D

 

Está correto? 

public class Pessoa { 
      private String nome; 
      private String endereço; 
      private String telefone; 
    } 
     public String getNome() {  
     return nome; } 
 
     public void setNome(String nome) { 
     this.nome = nome; } 
     
     public String getEndereço() { 
     return endereço; } 
 
     public void setEndereço(StringEndereço) { 
     return.endereço = endereço; } 
 
     public String setTelefone() { 
     return.endereço=endereço; } 
} 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 11/06/2018 às 07:37, Albert Wilian disse:

Está correto? 


public class Pessoa { 
      private String nome; 
      private String endereço; 
      private String telefone; 
    } 
     public String getNome() {  
     return nome; } 
 
     public void setNome(String nome) { 
     this.nome = nome; } 
     
     public String getEndereço() { 
     return endereço; } 
 
     public void setEndereço(StringEndereço) { 
     return.endereço = endereço; } 
 
     public String setTelefone() { 
     return.endereço=endereço; } 
} 

 

Segue código com alterações:

public class Pessoa { 
	private String nome; 
	private String endereco; //Nunca coloque acentuação em variaveis(no caso o ç)
	private String telefone;
							//não tem o que fechar aqui então não precisa do }
    
	public String getNome() {  
		return nome; 
    } 
 
  	public void setNome(String nome) { 
		this.nome = nome; 
    } 
     
	public String getEndereco() { 
		return endereco; 
    } 
 
	public void setEndereco(String Endereco) { 
		return.endereco = endereco; 
    } 
 
	public String getTelefone() { 
		return telefone; //Esqueceu de mudar o crtl+v
    } 
  
  	//esqueceu de fazer set telefone
  
  	//ainda falta os 3 construtores
} 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá a todos.

 

1#

Sugiro desabilitar a tabulação, ou seja, configurem o editor de texto para inserir espaço ao pressionar tab.

 

 

 

2#

@Leonardo0308, seu código também precisa de uns pequenos ajustes. Segue:

public class Pessoa {
    private String nome;
    private String endereco;
    private String telefone;
    
    public String getNome() {
        return nome; 
    } 
    
    public void setNome(String nome) { 
        this.nome = nome; 
    }
    
    public String getEndereco() { 
        return endereco; 
    } 
    
    //public void setEndereco(String Endereco) { 
    public void setEndereco(String endereco) { 
        //return.endereco = endereco;
        this.endereco = endereco;
    } 
    
    public String getTelefone() {
        return telefone;
    }
    
    public void setTelefone(String telefone) { //<- aqui já implementado o set
        this.telefone = telefone;
    }
}

 

adicionado 6 minutos depois

Se preferir deixar o get() em cima... Só mudar a ordem:

public class Pessoa {
    private String nome;
    private String endereco;
    private String telefone;
    
    public String getNome() {
        return nome; 
    }
    
    public String getEndereco() { 
        return endereco; 
    }
    
    public String getTelefone() {
        return telefone;
    }
    
    
    public void setNome(String nome) { 
        this.nome = nome; 
    }
    
    public void setEndereco(String endereco) { 
        this.endereco = endereco;
    } 
    
    public void setTelefone(String telefone) { 
        this.telefone = telefone;
    }
    
}

 

Ai fica faltando só os construtores...

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Simon Viegas disse:

@Leonardo0308, seu código também precisa de uns pequenos ajustes. Segue

 

Tava fazendo o código e acabei nem reparando nesse detalhe, obrigado pela correção.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só para frisar e resumir o que já foram citados por @Leonardo0308 e por mim.

 

Sobre:

Em 11/06/2018 às 07:37, Albert Wilian disse:

     public void setEndereço(StringEndereço) { 
     return.endereço = endereço; } 

 

Lá no código original parece que tem apenas 2 erros:

1- o String ficou colado no Endereço;

2- e colocou return, onde deveria ser this, ou seja, seria algo como:

    public void setEndereco(String Endereço) { 
        this.endereço = endereço;
    } 

 

Mas na verdade tem 3 e meio*.

1- o String ficou colado no Endereço;

2- colocou return, onde deveria ser this;

3- A variável Endereço é diferente de endereço, ou seja, ao usar:

this.endereço = endereço;

Na verdade estaria igualando a variável a si mesma... e a variável Endereço não estaria sendo utilizada. Para ficar mais claro, seria o mesmo que fazer isso:

    public void setEndereco() { 
        this.endereço = endereço;
    } 

O código:

    public void setEndereco(String Endereço) { 
        this.endereço = endereço;
    } 

vai compilar, mas na hora de rodar, o set não iria funcionar... veja, o this funciona para "quebrar uma ambiguidade", ou seja, ao declarar uma variável com o mesmo nome lá no parâmetro, o computador teria que decidir ao qual variável ele vai usar... pois teria uma variável global endereço (declara lá em cima, que é referente aos atributos do objeto), e outra local endereço (declarada no parâmetro, que só existe no escopo do método)... ai, a preferência é para o loca (mais próximo)l!!! o this serviria para dizer que é referente ao atributo do objeto (não do parâmetro).

 

Se usar um nome diferente, não precisaria do this. Ficaria algo como:

    public void setEndereco(String Endereço) { 
        endereço = Endereço;
    }

Pois não existe ambiguidade.

 

RESUMINDO:

Como "boa prática", é comum deixar iguais mesmo... algo assim:

    public void setEndereco(String endereço) { 
        this.endereço = endereço;
    }

4- E por fim a questão do "ç". Teoricamente funciona (aqui compilou), mas deve entrar outras questão... como possíveis problemas na codificação do .java (acredito que o .class não tenha problemas), ou seja, poderia dar problemas ao abrir o código em um computador de outro idioma (que não reconhece esse caractere). Eu não sei explicar... se alguém poder elucidar, eu agradeço.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×