Metodos Set e ToString

5 respostas
V

Boa tarde, estava fazendo uns exercícios de java, quando me surgiu uma duvida ao seguinte exercício
https://uploaddeimagens.com.br/imagens/scv_1521832766534215736132-jpg
como pode ser visto, no diagrama da classe gênero contem os métodos get e ToString, porem eu n encontrei a utilidade para os 2, ou resolvo usando um ou usando o outro, alguem saberia me dizer o que estou fazendo de errado? ou se é assim msm?

5 Respostas

Mike

Métodos setters servem para atribuir valor a um atributo.

Quando você faz isso:

Usuario usuario = new Usuario();

System.out.println(usuario);

Sai um dados estranhos né?
Esses dados são o indentificador do objeto.

Quando você passa apenas o objeto no System.out.println, implicitamente, o método toString é chamado, ficando assim:

System.out.println(usuario.toString());

Se você sobrescrever o método toString, os dados serão diferentes, não serão mais aqueles números estranhos.

@Override
    public String toString() {
    	return "Foi chamado o método toString implicitamente.";
    }

na proxima vez que você fizer: System.out.println(usuario);, a saída no console será: “Foi chamado o método toString implicitamente.”.

V
me desculpe, eu me confundir na hora e apresentar minha duvida, a questão é os métodos Get, n estou vendo a logica de ter um método get e um toString na mesma classe, ja que os 2 serve para recuperar valores, pq na hora de imprimir a informação  eu utilizo

String relatorio = Relatório de autores:;

for (Genero gen : registro) {

if (gen == null) {

break;

}

relatorio += \n” + gen;

}

JOptionPane.showMessageDialog(null, relatorio);

System.exit(0);

ou

String relatorio = Relatório de autores:;

for (Genero gen: registro) {

if (gen == null) {

break;

}

relatorio += \n” + aut.getCodigo() + " - " + aut.getDescricao();

}
JOptionPane.showMessageDialog(null, relatorio);
    System.exit(0);

mais nunca os 2 metodos

Mike

O get retorna um atributo em especifico, o toString pode ser qualquer coisa, se você precisa retornar apenas o codigo, você utilizará o getCodigo.
Se quer uma mensagem estilizada sobre o objeto, pode usar o toString

V

entendi, então para o exercício em questão, meio que o get n tem utilidade nê?

Mike

Ao meu ver, o toString() pode ser usado no lugar dos getters nesse exemplo, já que quer somente um relatório.

Mas ainda sim, eu usaria get, o leitor quando bater o olho no getAlgumaCoisa, sabera que retornara algumaCoisa.

Eu não vejo utilidade no toString() fora do ramo academico

Criado 23 de março de 2018
Ultima resposta 23 de mar. de 2018
Respostas 5
Participantes 2