06.05 Python – Clases – Getter y Setter

class Persona:
    def __init__(self, nombre, edad):
        self._nombre = nombre
        self._edad = edad

    @property
    def nombre(self):
        print("Obteniendo el nombre...")
        return self._nombre

    @nombre.setter
    def nombre(self, nuevo_nombre):
        print("Estableciendo el nombre...")
        self._nombre = nuevo_nombre

    @property
    def edad(self):
        print("Obteniendo la edad...")
        return self._edad

    @edad.setter
    def edad(self, nueva_edad):
        print("Estableciendo la edad...")
        if nueva_edad >= 0:
            self._edad = nueva_edad
        else:
            print("La edad no puede ser un número negativo.")

# Crear un objeto de la clase Persona
persona1 = Persona("Juan", 30)

# Acceder al atributo nombre utilizando el método get
print(persona1.nombre)  # Resultado: "Obteniendo el nombre..." "Juan"

# Establecer un nuevo valor para el atributo nombre utilizando el método set
persona1.nombre = "Pedro"  # Resultado: "Estableciendo el nombre..."

# Intentar establecer una edad negativa
persona1.edad = -5  # Resultado: "Estableciendo la edad..." "La edad no puede ser un número negativo.“

persona1._edad = -4
print(f'Edad: {persona1._edad}')  #Edad: -4

Related Posts