uso-getters-setters-propiedades-python

Cómo Usar Métodos Getters y Setters en Python

Los métodos getters y setters son funciones que permiten obtener y establecer el valor de un atributo de una clase, respectivamente.

Se utilizan para agregar lógica adicional al acceso de los atributos, como validación o transformación de datos.

Implementación de Getters y Setters

Los métodos getters y setters se definen utilizando métodos normales dentro de la clase.

class Persona:
    def __init__(self, nombre, edad):
        self._nombre = nombre
        self._edad = edad
    
    def get_nombre(self):
        return self._nombre
    
    def set_nombre(self, nombre):
        if isinstance(nombre, str):
            self._nombre = nombre
        else:
            raise ValueError("El nombre debe ser una cadena de texto")
    
    def get_edad(self):
        return self._edad
    
    def set_edad(self, edad):
        if isinstance(edad, int) and edad > 0:
            self._edad = edad
        else:
            raise ValueError("La edad debe ser un número entero positivo")

Por lo demás, no tienen nada más en especial. Son simplemente métodos que tienen la convención de llamarse get_ y set_ (con el nombre de la propiedad detrás) y cuya función es obtener o establecer el valor de un atributo.

Uso de Getters y Setters

Para utilizar estos métodos, simplemente tenemos que llamar explícitamente a los métodos get_ y set_.

persona = Persona("Luis", 25)
print(persona.get_nombre())  # Salida: Luis
persona.set_nombre("Carlos")
print(persona.get_nombre())  # Salida: Carlos

print(persona.get_edad())  # Salida: 25
persona.set_edad(30)
print(persona.get_edad())  # Salida: 30