1
resposta

Getters and Setters

Ainda não entendi realmente quando devo utilizar esses caras já entendi a montagem e pra que serve mas realmete não sei quando deve utilizar eles e isso acabou me impedindo que fazer alguns exercícios que eles presivam ser utilizados...

1 resposta

Oi, Matheus! Tudo bem?

Os Getters e Setters são como "portas" que você usa para acessar ou modificar os atributos de uma classe de forma controlada, ao invés de mexer diretamente nos dados, o que podemos aprofundar da seguinte maneira:

O que são Getters e Setters?

  • Getters: São métodos que "pegam" o valor de um atributo,ou seja, servem para ler o que está guardado.
  • Setters: São métodos que "definem" ou modificam o valor de um atributo, mas com controle sobre o que pode ser colocado.

Quando usar Getters e Setters?

  1. Proteção dos dados (Encapsulamento): Usamos getters e setters para proteger os dados da classe. Ao invés de deixar os dados livres para qualquer um mudar, usamos essas "portas" para garantir que o dado só seja acessado ou alterado de maneira controlada.

  2. Validação de dados: O setter pode incluir regras para garantir que os dados sejam válidos antes de serem modificados. Por exemplo, se você tem um atributo preco em uma classe Produto, o setter pode verificar se o preço não é negativo, como no exemplo abaixo:

    public class Produto {
        private double preco;
    
        public double getPreco() {
            return preco;
        }
    
        public void setPreco(double preco) {
            if (preco >= 0) {
                this.preco = preco;
            } else {
                System.out.println("Preço não pode ser negativo");
            }
        }
    }
    
  3. Facilidade para ajustes futuros: Com getters e setters, você pode mudar a forma como os dados são armazenados ou processados sem afetar o resto do seu código. Por exemplo, se você quiser mudar como o preço é calculado no futuro, é só mexer no setter, sem precisar mudar todo o código que usa esse atributo.

Como isso se aplica ao exercício?

Nesse exercício, se você criar uma classe Produto com atributos como nome e preço, usar getters e setters é uma boa prática, pois mantém o código organizado, seguro e pronto para lidar com mudanças ou situações mais complexas no futuro.

Espero ter ajudado!

Um forte abraço e bons estudos!