@property + @setter - getter e setter no modo Pythônico
This commit is contained in:
38
aula132.py
Normal file
38
aula132.py
Normal file
@@ -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)
|
||||||
Reference in New Issue
Block a user