Getters e Setters

7 respostas
Cabral

Não é possivel ter mais de um método com o mesmo nome.

da forma que você esta tentando fazer ele da erro pois quando você chamar o método getValue() o java não vai saber qual deles chamar.

Att,

Ricardo Cabral

7 Respostas

maquiavelbona

Bom dia!

Não com o mesmo escopo. Você pode ter 2 métodos getValue, mas um deles seria assim:

public Long getValue()
        {
            return id;
         }

E o outro por exemplo:

public Long getValue(String Tipo) { if(tipo.equals("nome")) return nome; }

Como dito antes, do jeito que estas fazendo, a JVM não vai saber a quem chamar, se seria o que retorna id ou nome. Da maneira que passei acima é uma das maneiras de identificar para a JVM qual método você está querendo que seja executado.

Até mais!

Luiz-SP

Pq vc num faz assim:

public class Produto {
	private Long id;
	private String nome;
	private String descricao;
	private Double preco;

	 // adicione seus getters e setters aqui!
	public void setId(Long id)
       {
           this.id = id;
       }

       public Long getId()
       {
           return id;
        } 
    
       public void setNome(String nome)
      {
           this.nome = nome;
       }

       public String getNome() //Duplicate method getValue() in type 
       {
           return nome;
       }
}
M

Como já explicaram dois métodos com a mesma assinatura não é possível...
Mas quando você cria métodos get e set, você não usa value como você estava usando...
Para cada atributo da sua classe você deve criar um método get e um set, que é usado para encapsular o atributo...
Sua classe produto ficaria assim...

public class Produto {
        //construtor da classe
	public Produto()
	{
		//aqui voce pode inicializar seus atributos
	}
        //aqui seus atributos
 	private Long id;
 	private String nome;
 	private String descricao;
 	private Double preco;
 	
        //aqui os métodos get e set....
       //repare que para cada atributo você tem seu método get e set

	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public Double getPreco() {
		return preco;
	}
	public void setPreco(Double preco) {
		this.preco = preco;
	}
}
T

Um truque (mas que não se aplica ao seu caso, já que isso tecnicamente não é um getter) é pôr um parâmetro adicional, só que não usado.

/** Isto não é tecnicamente um getter,  que tem um parâmetro. Getters que têm parâmetros servem apenas para acessar arrays, e o tipo do parâmetro é int. */
public Long getValue(boolean naoUsado) {
return id;
}

/** Isto é um getter. */
public String getValue() {
return nome;
}
P11

Oi galera...

Estou seguindo um tutorial e surgiu uma dúvida:
public class Produto {
	private Long id;
	private String nome;
	private String descricao;
	private Double preco;

	 // adicione seus getters e setters aqui!
	public void setValue(Long id)
       {
           this.id = id;
       }

       public Long getValue()
       {
           return id;
        } 
    
       public void setValue(String nome)
      {
           this.nome = nome;
       }

       public String getValue() //Duplicate method getValue() in type Produto
       {
           return nome;
       }
}
Não é possível ter mais que um get dentro de uma classe??
Spool

O que não eh possível é dois métodos identicos.
Por exemplo, vc pode ter dois metodos getValue(), desde que eles tenham parametros diferentes.

P11

Opa…
Valeu pessoal…
Agradeço a ajuda de todos…

:lol:

Criado 28 de agosto de 2006
Ultima resposta 28 de ago. de 2006
Respostas 7
Participantes 7