Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Imprimir System.out.println no próprio método get

É uma boa prática implementar o método get da seguinte maneira?

public void getNomeFuncionario(){
        System.out.println(this.nomeFuncionario);
    }

Acho mais bonito depois o chamar da seguinte maneira:

f1.getNomeFuncionario();

Só não sei se é uma boa prática, pois, no código do instrutor foi colocado o System.out.println no main.

4 respostas
solução!

Oi Bruno,

O melhor é deixar a responsabilidade da impressão para quem chama o método pois pode ter algum momento que você queira fazer alguma coisa com este nome ao invés de imprimir (salvar no banco de dados por exemplo).

A boa prática é retornar o valor e deixar que quem chamou decida o que quer fazer.

Abraço!

Oi Bruno, essa não é uma boa prática! A boa prática é sempre o getAlgumaCoisa() retornar o valor daquele campo, por exemplo:

public void getNomeFuncionario(){
    return this.nomeFuncionario;
}

e aí, quem está chamando o método faz alguma coisa com ele, ou o System.out.println() ou alguma outra operação.

Abraços!

Oi Bruno, tudo bem ?

Vou te dar um exemplo mais mundo real, beleza ?

Quando vamos ao fast food e pedimos a nossa comida é legal que eles entreguem a comida para gente.

A idéia do get é bem parecida com isso, toda vez que a gente pede algo é legal termos o que estamos pedindo, por isso colocamos o retorno.

public String getNomeFuncionario(){
        this.nomeFuncionario;
}

Pois agora, quem pedir o nome do funcionário vai poder usar da maneira que precisar, até mesmo exibir no console :

String nome = f1.getNomeFuncionario();
System.out.println(nome);

Por padrão o getter devolve e o setter popula o campo desejado !

Abraço

Obrigado Joviane, Philippe e Matheus! Compreendi bem a ideia do get. Vou corrigí-lo rs