Intern
¿Qué es un getter y un setter?
sobes.tech AI
Respuesta de la IA
Un getter y un setter son métodos especiales utilizados en programación orientada a objetos para acceder y modificar los valores de campos privados (o protegidos) de una clase.
Getter:
- Proporciona acceso controlado para leer el valor del campo.
- Generalmente tiene un nombre que comienza con
get(por ejemplo,getName()). - Puede realizar acciones adicionales antes de devolver el valor (por ejemplo, formateo o validación).
Setter:
- Proporciona acceso controlado para escribir un nuevo valor en el campo.
- Generalmente tiene un nombre que comienza con
set(por ejemplo,setName()). - Puede realizar validaciones de los datos de entrada antes de asignar el valor al campo.
- Permite implementar lógica al cambiar el valor del campo (por ejemplo, notificar a otras partes del programa).
Ejemplo en 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("Nombre inválido")
# Uso
person = Person("Alice")
print(person.get_name()) # Uso del getter
person.set_name("Bob") # Uso del setter
print(person.get_name())
person.set_name("") # Ejemplo de uso del setter con validación
El uso de getters y setters favorece la encapsulación, permitiendo gestionar el acceso y la modificación de datos dentro del objeto, asegurando una mejor estructura y mantenibilidad del código.