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.