diff --git a/aula132.py b/aula132.py new file mode 100644 index 0000000..b704f75 --- /dev/null +++ b/aula132.py @@ -0,0 +1,38 @@ +# @property + @setter - getter e setter no modo Pythônico +# - como getter +# - p/ evitar quebrar código cliente +# - p/ habilitar setter +# - p/ executar ações ao obter um atributo +# Atributos que começar com um ou dois underlines +# não devem ser usados fora da classe. +# 🐍🤓🤯🤯🤯🤯 +class Caneta: + def __init__(self, cor): + # private protected + self.cor = cor + self._cor_tampa = None + + @property + def cor(self): + print('ESTOU NO GETTER') + return self._cor + + @cor.setter + def cor(self, valor): + print('ESTOU NO SETTER') + self._cor = valor + + @property + def cor_tampa(self): + return self._cor_tampa + + @cor_tampa.setter + def cor_tampa(self, valor): + self._cor_tampa = valor + + +caneta = Caneta('Azul') +caneta.cor = 'Rosa' +caneta.cor_tampa = 'Azul' +print(caneta.cor) +print(caneta.cor_tampa)