58 lines
1.3 KiB
Python
58 lines
1.3 KiB
Python
# @property - um getter no modo Pythônico
|
|
# getter - um método para obter um atributo
|
|
# cor -> get_cor()
|
|
# modo pythônico - modo do Python de fazer coisas
|
|
# @property é uma propriedade do objeto, ela
|
|
# é um método que se comporta como um
|
|
# atributo 🤯 🤯 🤯
|
|
# Geralmente é usada nas seguintes situações:
|
|
# - como getter
|
|
# - p/ evitar quebrar código cliente
|
|
# - p/ habilitar setter
|
|
# - p/ executar ações ao obter um atributo
|
|
# Código cliente - é o código que usa seu código
|
|
class Caneta:
|
|
def __init__(self, cor):
|
|
self.cor_tinta = cor
|
|
|
|
@property
|
|
def cor(self):
|
|
print('PROPERTY')
|
|
return self.cor_tinta
|
|
|
|
@property
|
|
def cor_tampa(self):
|
|
return 123456
|
|
|
|
###########################
|
|
|
|
|
|
caneta = Caneta('Azul')
|
|
print(caneta.cor)
|
|
print(caneta.cor)
|
|
print(caneta.cor)
|
|
print(caneta.cor)
|
|
print(caneta.cor)
|
|
print(caneta.cor)
|
|
print(caneta.cor_tampa)
|
|
|
|
#####################################
|
|
|
|
# class Caneta:
|
|
# def __init__(self, cor):
|
|
# self.cor_tinta = cor
|
|
|
|
# def get_cor(self):
|
|
# print('GET COR')
|
|
# return self.cor_tinta
|
|
|
|
# ###########################
|
|
|
|
|
|
# caneta = Caneta('Azul')
|
|
# print(caneta.get_cor())
|
|
# print(caneta.get_cor())
|
|
# print(caneta.get_cor())
|
|
# print(caneta.get_cor())
|
|
# print(caneta.get_cor())
|