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

Recursos de get e set

Olá, pessoal, fiquei com uma dúvida, devo ter entendido errado, mas não seria possível aplicar condições em um setter, do mesmo jeito que foi aplicado nos métodos saca e deposita, para manipular as regras de negócio dentro da classe? São exclusivamente para "getar" e "setar" atributos privados ou é possível fazer algum outro recurso com eles? E como saber quando é melhor usar getters e setters ou utilizar outros métodos como o saca e deposita?

Valeu!

2 respostas
solução!

Opa Giovani, tudo tranquilo?

É possível sim. Em relação ao Setter, é normal você querer limitar as alterações que podem ser feitas nos seus atributos privados. Porém, quando tratamos de Getter, a coisa fica um pouco mais complicada... embora os Getters e Setters sejam como qualquer outro método do Java, pessoas que forem ler o seu código esperam que pelo menos o seu Getter tenha um comportamento que um Getter normal teria, então é bom pensar um pouco antes de realizar alterações em cima desses métodos, em especial o Getter.

Bom, como eu disse anteriormente, Getters e Setters são como qualquer outro método, ou pelo menos possuem as mesmas limitações que um. Portanto, para comportamentos específicos que fazem sentido no seu negócio, como sacar() e depositar() num sistema bancário, dê preferência para esses métodos mais específicos que só de ler o nome você já sabe exatamente o que eles devem fazer. Em muitos casos, Getters e Setters serão "genéricos" de mais para atender as necessidades do sistema para o seu negócio.

Recomendo também dar uma lida nesse post que fala sobre Getters e Setters e seu uso exagerado. Tem muita coisa que você pode não entender nesse momento, mas o mais importante é a ideia central:

"Nunca crie um getter ou setter sem sentir uma real necessidade por ele."

Se teve algum ponto que não ficou claro é só avisar!

Abraços e bons estudos!!

Fala, Thiago, valeu a resposta!

Muito bom o post, deu uma reforçada legal nesse contexto, também revisitei essa aula em questão e agora faz até mais sentido a questão dos construtores, também. Vou anotar a frase da ideia central e prestar atenção nesses casos, pois na aula, confesso que realmente pensei "opa, então em toda classe, mete getters e setters, nela" hehehe, bom saber que é uma má prática.

Valeu, abraços!