Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Persona:
- def __init__(self, nombre):
- self.nombre = nombre
- @property
- def nombre(self):
- return self._nombre
- @nombre.setter
- def nombre(self, valor):
- if not isinstance(valor, str):
- raise TypeError('Se requiere una cadena de caracteres.')
- self._nombre = valor
- @nombre.deleter
- def nombre(self):
- raise AttributeError('No se puede borrar este atributo.')
- class SubPersona(Persona):
- @property
- def nombre(self):
- print('Recuperando nombre')
- return super().nombre
- @nombre.setter
- def nombre(self, valor):
- print('Asignando nuevo nombre')
- super(SubPersona, SubPersona).nombre.__set__(self, valor)
- @nombre.deleter
- def nombre(self):
- print('Borrando atributo nombre')
- super(SubPersona, SubPersona).nombre.__delete__(self)
- p = SubPersona('Einstein')
- print(p.nombre)
- # Produce error:
- #p.nombre = 13
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement