Sobes.tech
Intern

O que é um getter e um setter?

sobes.tech IA

Resposta da IA

Um getter e um setter são métodos especiais utilizados na programação orientada a objetos para aceder e modificar os valores de campos privados (ou protegidos) de uma classe.

Getter:

  • Proporciona acesso controlado para ler o valor do campo.
  • Geralmente tem um nome que começa com get (por exemplo, getName()).
  • Pode realizar ações adicionais antes de devolver o valor (por exemplo, formatação ou validação).

Setter:

  • Proporciona acesso controlado para escrever um novo valor no campo.
  • Geralmente tem um nome que começa com set (por exemplo, setName()).
  • Pode realizar validações nos dados de entrada antes de atribuir o valor ao campo.
  • Permite implementar lógica ao alterar o valor do campo (por exemplo, notificar outras partes do programa).

Exemplo em Python:

class Person:
    def __init__(self, name):
        self._name = name # Campo privado

    # Getter
    def get_name(self):
        return self._name

    # Setter
    def set_name(self, new_name):
        if isinstance(new_name, str) and len(new_name) > 0:
            self._name = new_name
        else:
            print("Nome inválido")

# Uso
person = Person("Alice")
print(person.get_name()) # Uso do getter

person.set_name("Bob") # Uso do setter
print(person.get_name())

person.set_name("") # Exemplo de uso do setter com validação

O uso de getters e setters favorece a encapsulação, permitindo gerir o acesso e a modificação de dados dentro do objeto, garantindo uma melhor estrutura e manutenção do código.